猿问

PHP显示MySQL中的图像BLOB

PHP显示MySQL中的图像BLOB

我试图显示存储在数据库中BLOB列中的图像;

我使用SELECT从数据库中获取数据,对数据不执行转换,并使用以下方式显示数据(来自一个脚本,该脚本的唯一输出是以下内容):

header("Content-Type: image/jpeg");echo $image;

请注意,Chrome正在将内容大小显示为图像的正确大小以及正确的MIME类型(image/jpeg)。在报头之前没有任何回显,我检查了数据库中的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)


牧羊人nacy
浏览 1144回答 3
3回答

慕娘9325324

这就是我用来显示BLOB图像的东西:echo&nbsp;'<img&nbsp;src="data:image/jpeg;base64,'.base64_encode($image->load())&nbsp;.'"&nbsp;/>';

蝴蝶刀刀

由于我必须在BLOB字段/列中存储各种类型的内容,所以假设我的代码如下所示:echo&nbsp;"data:&nbsp;$mime"&nbsp;$result['$data']";其中:MIME可以是任何类型的图像,文本,Word文档,文本文档,pdf文档,等等。数据是BLOB的列内容
随时随地看视频慕课网APP
我要回答