我已將圖像作爲BLOB文件存儲在我的數據庫中。這可能不是最好的做法(我知道這一點)。我想在點擊時在頁面上創建一個鏈接,並提示用戶使用典型的保存文件提示,這樣他們就可以將文件保存在他們的個人磁盤上。將BLOB圖像從PHP中的數據庫保存到磁盤
我在網上進行了研究,但我所嘗試的似乎不工作,它只是將字節發佈到我的頁面而不是在文件中。我的代碼保存文件如下。我正在使用一個框架,所以數據庫事務和retrevial代碼可能看起來很奇怪,但值已正確設置。在存儲在數據庫中之前,這些文件也使用base64進行編碼,因此我調用解碼函數將其恢復到正常狀態。
function save_file($file_id) {
$result = $DB->get_file($file_id);
$size = $result->fields['size']; //1024
$mime = $result->fields['mime']; //image/jpg
$name = $result->fields['name']; //test.jpg
header("Content-Disposition:attachment;filename=".$name);
header("Content-Type=: ".$mime);
header("Content-Length: ".$size);
base64_decode(file);
echo($file);
exit();
}