显示存储在 MySQL BLOB 中的图像
尝试使用提供的 PHP 显示在 MySQL 数据库中存储为 BLOB 的图像时代码中,用户遇到了在图像之前或之后输出任何文本或内容会导致显示错误的问题。本文解决了这个问题,并提出了一种在图像旁边显示附加元素的解决方案。
原始代码:
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 并将其放置在 标记中,从而使图像能够正确显示,同时还允许在页面上输出其他内容。
注意:虽然这种方法有效,但它对于性能和缓存来说并不是最佳的。建议探索替代解决方案来显示 MySQL 数据库中存储为 BLOB 的图像,例如使用缓存机制或外部图像服务器。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3