具体示例:我将图像保存在Blob柱上的MySQL中(我们称之为'图像')。我正在使用CakePHP(并不重要)在数据库中显示保存在Blob存储中的图像的最佳方式是什么?
这是用户的头像图像。我需要展示给他们。
现在,做这件事的最好方法是什么?
目前,我使用单独的操作“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可能)或东西的作品比这更好做法。
谢谢!
为什么base64会更好? :)图像(通常)是二进制的。除非有其他充足的理由,否则让他们以这种方式生活。但是,这*真的应该*支持缓存/“未修改”,以尽量减少浪费的带宽。一般来说,我宁愿将“数据文件”保存在数据库本身之外......但两种方式都有争论。 – 2011-07-12 22:23:40
谢谢兄弟。缓存!!!!你是对的。我想在base64中传输它在img标签的src attr中。当然,这似乎不是一个好主意,但它是另一种选择。 – santiagobasulto