PHP:如何直接在浏览器中显示TEXT数据图像?

时间:2014-04-05 10:55:44

标签: php html mysql

我的网站将图片存储在TEXT mysql字段中,并显示如下:

数据库摘录:

data:image/png;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4QBGRXhpZgAASUkqAAgAAAABADEBAgAjAAAAGgAAAAAAAABieS5ibG9vZGR5LmNyeXB0by...

并以那种方式显示

<img id="image" style="width:160px;" src="<?=$row["data"];?>">

我想在浏览器中直接访问一些图片: http://www.mysite.com/myPicture.php?id=1(id =数据库的字段1)

(没有html,只有纯JPEG图像)

所以它返回一个纯JPEG图像(我猜一些标题是stup为JPEG)。

有任何线索吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

我很确定你可以通过MIME标头(http://en.wikipedia.org/wiki/MIME_type)来解决这个问题,它将被发送到浏览器,以便它知道如何解释它正在被输入的数据并将其正确显示为图像(或您发送给用户的任何类型的数据)。

<?php
header('Content-Disposition: inline');
header('Content-type: image/png');
echo "yourImageData";
?>

答案 1 :(得分:-2)

只需从数据开头删除data:image/png;base64, base64_decode,然后在header('Content-Type: image/png') ...完成后输出解码后的数据。