Anzeigen eines in einem MySQL-BLOB gespeicherten Bildes
Beim Versuch, ein als BLOB in einer MySQL-Datenbank gespeichertes Bild mit dem bereitgestellten PHP anzuzeigen Code haben Benutzer ein Problem festgestellt, bei dem die Ausgabe von Text oder Inhalten vor oder nach dem Bild zu Anzeigefehlern führt. Dieser Artikel befasst sich mit diesem Problem und stellt eine Lösung vor, um zusätzliche Elemente neben dem Bild anzuzeigen.
Der Originalcode:
include("inc/library.php");
connectToDatabase();
$sql = "SELECT * FROM theBlogs WHERE ID = 1;";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);
header("Content-type: image/jpeg");
echo $row['imageContent'];
$db->close();
Versucht, den Bildinhalt direkt auf der Seite wiederzugeben, stößt jedoch auf Probleme, wenn davor oder danach andere Inhalte ausgegeben werden.
Lösung
Das Problem entsteht, weil Browser jeden Text oder Inhalt außerhalb der Bilddaten als Teil des Bildes betrachten. Um dieses Problem zu beheben, können die Bilddaten in Base64 konvertiert und in ein -Tag eingebettet werden.
echo '';
echo 'Hello world.';
Diese Lösung konvertiert die Bilddaten in Base64 und platziert sie in einem -Tag, wodurch das Bild korrekt angezeigt wird und gleichzeitig die Ausgabe zusätzlicher Inhalte auf der Seite ermöglicht wird.
Hinweis: Dieser Ansatz funktioniert zwar, ist jedoch für Leistung und Caching nicht optimal. Es wird empfohlen, alternative Lösungen für die Anzeige von als BLOBs in MySQL-Datenbanken gespeicherten Bildern zu erkunden, beispielsweise die Verwendung von Caching-Mechanismen oder externen Bildservern.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3