Отображение изображения, хранящегося в BLOB-объекте MySQL
При попытке отобразить изображение, хранящееся в виде BLOB-объекта в базе данных MySQL, с использованием предоставленного PHP кода пользователи столкнулись с проблемой, из-за которой вывод любого текста или содержимого до или после изображения приводил к ошибкам отображения. В этой статье рассматривается эта проблема и представлено решение для отображения дополнительных элементов рядом с изображением.
Исходный код:
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();
Пытается вывести содержимое изображения непосредственно на странице, но сталкивается с проблемами, если до или после него выводится какое-либо другое содержимое.
Решение
Проблема возникает потому, что браузеры считают любой текст или контент за пределами данных изображения частью изображения. Чтобы решить эту проблему, данные изображения можно преобразовать в Base64 и внедрить в тег .
echo '';
echo 'Hello world.';
Это решение преобразует данные изображения в Base64 и помещает их в тег , позволяя изображению отображаться правильно, а также разрешая вывод дополнительного контента на страницу.
Примечание: Хотя этот подход работает, он не оптимален с точки зрения производительности и кэширования. Рекомендуется изучить альтернативные решения для отображения изображений, хранящихся в виде BLOB-объектов, в базах данных MySQL, например, с использованием механизмов кэширования или внешних серверов изображений.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3