我的 SQL 数据库中有经过 Base64 编码为 Blob 的图像。
使用 php 脚本,我可以在浏览器中正确显示图片。
echo '<img src="data:image/jpeg;base64,' . $fetch_row['object']. '" />';
但是,我想创建一个 View 来直接显示照片或通过访问 php 文件并在列中返回图片来显示照片。我尝试过使用类似的东西:in mysql
concat('<img src="data:image/jpeg;base64,',`object`,'" />')
or concat('<img src=/image.php? blah blah blah)
有什么想法吗?
最佳答案
<?php
header('Content-type: image/jpeg');
echo base64_decode($fetch_row['object']);
您的问题也准确地说明了为什么将图像存储在数据库中是一个坏主意。如果图像只是服务器驱动器上的一个文件,您只需
<img src="/path/to/file.jpg" />
并且根本不必涉及 DB/PHP 层。就目前而言,您的 data-uri 版本完全阻止浏览器缓存该图像,并且您将迫使用户每次都下载该图像,从而消耗他们(和您的)带宽。
关于php - 显示数据库中存储的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18664328/