我正在尝试显示存储在数据库的BLOB列中的图像;
我使用SELECT从数据库中获取数据,对数据不进行任何转换,并使用以下代码(来自唯一输出以下内容的脚本)显示它:
请注意,Chrome正常显示图像的大小以及正确的MIME类型(
Chrome/IE显示图像图标但不显示图像本身。有什么想法吗?
编辑:从数据库中获取图像如下:
我使用SELECT从数据库中获取数据,对数据不进行任何转换,并使用以下代码(来自唯一输出以下内容的脚本)显示它:
header("Content-Type: image/jpeg");
echo $image;
请注意,Chrome正常显示图像的大小以及正确的MIME类型(
image/jpeg
)。在header之前没有任何输出,并且我已经检查了数据库中的blob是正确的。在<?php ?>
标签之前或之后也没有尾随空格。Chrome/IE显示图像图标但不显示图像本身。有什么想法吗?
编辑:从数据库中获取图像如下:
$sql = "SELECT * FROM products WHERE id = $id";
$sth = $db->query($sql);
$row = $sth->fetch();
$image = $row['image'];
var_dump($image) 的输出结果如下:
string 'ÿØÿà�JFIF��x�x��ÿá�ZExif��MM�*�����������J��������Q�������Q������tQ������t�����† ��±ÿÛ�C�
ÿÛ�CÿÀ�_"�ÿÄ�����������
ÿÄ�µ���}�!1AQa"q2‘¡#B±ÁRÑð$3br‚
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³ ´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ��������'... (length=60766)
$image
的构成内容(例如查询等)。 - Machavity$image
保存为二进制文件并打开它,也许数据库中的数据已损坏? - Iłya Bursov<img src="images/<?php echo $image->filename;?>" alt=".." title="..">
的操作。 - Cagatay Ulubay