具體示例:我將圖像保存在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