具体示例:我将我的图像保存在一个Blob列上的MySQL中(让我们称之为'图像')。我正在使用CakePHP(并不重要)
这是用户的头像形象。我需要向他们展示。
现在,最好的方法是什么?
目前,我正在使用单独的操作“show_image / {user_id}”从数据库中读取图像,设置标题并打印内容。所以,如果我想显示我刚刚使用的图像:
<img src="show_image/3" />
show_image类似于:
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;
}
现在,也许还有其他方法(可能是base64)或者比这种方法更好的东西。
谢谢!
答案 0 :(得分:0)
您可能只需将文件上传到某个位置并将位置字符串存储在数据库中,而不是将图像保存为二进制对象。这将减少数据库的负载,并且通常更容易。
答案 1 :(得分:0)
好的,我已经按照通常的方式做了问题。
刚刚添加了@pst指向的标头缓存内容。