Php 在数据库中显示保存在Blob存储中的图像的最佳方式是什么?
具体示例:我将我的图像保存在MySQL中的一个Blob column上(我们称之为“image”)。我正在使用CakePHP(其实并不重要) 这是用户的化身图像。我要给他们看看 现在,最好的方法是什么 目前,我正在使用一个单独的操作“show_image/{user_id}”,它从数据库中读取图像,设置标题并打印内容。因此,如果我想显示我只使用的图像:Php 在数据库中显示保存在Blob存储中的图像的最佳方式是什么?,php,file,http,file-upload,Php,File,Http,File Upload,具体示例:我将我的图像保存在MySQL中的一个Blob column上(我们称之为“image”)。我正在使用CakePHP(其实并不重要) 这是用户的化身图像。我要给他们看看 现在,最好的方法是什么 目前,我正在使用一个单独的操作“show_image/{user_id}”,它从数据库中读取图像,设置标题并打印内容。因此,如果我想显示我只使用的图像: <img src="show_image/3" /> 现在,也许还有其他方法(base64)或比这种方法更好的方法 谢谢 您不应该
<img src="show_image/3" />
现在,也许还有其他方法(base64)或比这种方法更好的方法
谢谢 您不应该将图像保存为二进制对象,而应该将文件上载到某个位置,并将位置字符串存储在数据库中。这将减少数据库的负载,并且通常更容易 您不应该将图像保存为二进制对象,而应该将文件上载到某个位置,并将位置字符串存储在数据库中。这将减少数据库的负载,并且通常更容易 好的,我已经按照问题所说的方式做了
刚才添加了@pst指向的头缓存。好的,我已经按照问题所说的方法完成了
刚刚添加了@pst指向的头缓存。为什么base64工作得更好?:)图像(通常)是二进制的。除非另有充分理由,否则就让他们这样生活吧。然而,这确实应该支持缓存/“未修改”,以最大限度地减少浪费的带宽。一般来说,我更喜欢将“数据文件”保存在数据库本身之外。。。但这两方面都有争论。谢谢兄弟。缓存!!!!你说得对。我想在base64中,在img标签的src attr中传输它。当然,这似乎不是一个好主意,但这是另一个选择。为什么base64工作得更好图像(通常)是二进制的。除非另有充分理由,否则就让他们这样生活吧。然而,这确实应该支持缓存/“未修改”,以最大限度地减少浪费的带宽。一般来说,我更喜欢将“数据文件”保存在数据库本身之外。。。但这两方面都有争论。谢谢兄弟。缓存!!!!你说得对。我想在base64中,在img标签的src attr中传输它。当然,这似乎不是一个好主意,但这是另一个选择。你是对的。我已经做了好几次了,但是现在我的要求不同了。谢谢你的回答,你说得对。我已经做了好几次了,但是现在我的要求不同了。谢谢你的回答。
function show_image($user_id){
$user = //read user from database
$image = file_get_contents($user['image']);
header('Content-type: ' . $user['image_type']);
header('Content-Disposition: attachment; filename="'.$user['image_name'].'"');
echo $image;
}