我的网站将图片存储在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)。
有任何线索吗?
答案 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')
...完成后输出解码后的数据。