Mysql
 sql >> Baza danych >  >> RDS >> Mysql

wydruk obrazów blob mySQL?

Masz tutaj zasadniczo dwa problemy:

  1. Jako $thumb zawiera dane binarne obrazu, przeglądarka nie zrozumie ich, chyba że powiesz przeglądarce, jakie to dane (np. image/jpg ).

  2. Musisz poinformować przeglądarkę, gdzie znajdują się dane.

Załóżmy, że chcesz utworzyć obraz z miniaturą na tej stronie:

<td><img src="..." alt="thumb"></td>

src atrybut informuje przeglądarkę, gdzie może znaleźć dane obrazu. Jest więc używany do rozwiązania problemu 2. Oczekuje Uniform Resource Locator (URI).

Jak więc zdobyć $thumb na URI? Można to zrobić na wiele sposobów, w tym link w komentarzu .

Jeśli jednak obrazek nie jest zbyt duży i nie trzeba go specjalnie buforować (np. HTML powinien być buforowany, ale nie obraz kciuka), możesz skorzystać z data: Schemat URI :

$thumbSrc = 'data:image/jpg;base64,'.base64_encode($thumb);

Następnie możesz wyprowadzić tę zmienną jako src wartość atrybutu:

<td><img src="<?php echo $thumbSrc; ?>" alt="thumb"></td>   

Mam nadzieję, że to będzie pomocne.

Pełna odpowiedź:

echo "<table>";
    echo "<tr class ='tablehead'><td>Name</td><td>Location</td><td>Review</td><td>Image</td><td>Thumb</td></tr>";
    while ($row = mysql_fetch_array($query))
    {   
        echo "<tr>";
            echo "<td>" . $row['user_fname'] . "</td>";
            echo "<td>" . $row['user_location'] . "</td>";
            echo "<td>" . $row['user_review'] . "</td>";                    
            echo '<td><img src="data:image/jpg;base64,', base64_encode($row['user_thumb']), '" alt='thumb'></td>'; 
            echo '<td><img src="data:image/jpg;base64,', base64_encode($row['user_image']), '" alt='image'></td>';
        echo "</tr>";
    }
echo "</table>";


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak ustawić zestaw znaków i sortowanie kolumny w MySQL?

  2. Strona wyświetlająca znaki zapytania zamiast znaków Unicode, mimo że zestawy znaków i sortowanie są poprawne?

  3. Nie można połączyć się z MySQL 4.1+ przy użyciu starego uwierzytelniania

  4. Zwróć JSON z MySQL z nazwą kolumny

  5. Konwersja istniejącej bazy danych MyISAM do InnoDB za pomocą Django