0

我的 sql 数据库中有 base64 编码为 blob 的图像。

使用 php 脚本,我可以在浏览器中正确显示图片。

echo '<img src="data:image/jpeg;base64,' . $fetch_row['object']. '" />';

但是,我想创建一个可以直接显示照片的视图,或者通过访问 php 文件并在列中返回图片。我试过使用类似的东西:在mysql中

concat('<img src="data:image/jpeg;base64,',`object`,'" />')
or concat('<img src=/image.php? blah blah blah)

有任何想法吗?

4

1 回答 1

1
<?php

header('Content-type: image/jpeg');
echo base64_decode($fetch_row['object']);

您的问题也恰好代表了为什么将图像存储在数据库中是一个坏主意。如果图像只是服务器驱动器上的一个文件,则可以

<img src="/path/to/file.jpg" />

并且根本不必涉及 DB/PHP 层。就目前而言,您的 data-uri 版本完全阻止浏览器缓存该图像,并且您将强制用户每次下载该图像,从而消耗他们(和您的)带宽。

于 2013-09-06T18:38:12.663 回答