5
我正在使用Laravel 5.1爲網站製作圖像上傳功能。由於安全問題,我想將這些圖像存儲在/storage/app
文件夾中,而不是/public
。圖片的URL,例如:Laravel 5.1 - 顯示存儲在存儲文件夾中的圖像
/storage/app/images/<image_name>
爲了從/storage/app
獲得的圖像,我成立了這個特定的路線:
http://app.com/image/<image_name>
的點像請求/storage
:
Route::controllers([
'image' => 'Frontend\ImageController',
]);
在ImageController
中,以下是創建回覆的代碼:
public function missingMethod($filename = [])
{
if (is_array($filename)) {
$filename = implode('/', $filename);
}
// storage_path('app') - path to /storage/app folder
$path = storage_path('app') . '/' . $filename;
$file = \File::get($path);
$type = \File::mimeType($path);
return \Response::make($file,200)
->header("Content-Type", $type);
}
我的問題是,使用此路線檢索圖像後,我無法在我的視圖中顯示它們。沒有404,500或任何錯誤狀態代碼,請求URL是它應該是,但它只是顯示一個破碎的圖像圖標。我的代碼有什麼問題嗎?
謝謝!
可能重複的[Laravel 5 - 如何訪問在視圖中存儲上傳的圖像?](http://stackoverflow.com/questions/30191330/laravel-5-how-to-access-image-uploaded-in-存儲在視圖中) – Bogdan
我試過了,但無法顯示圖像,如上所述 – xlKD
HTTP服務器可以讀取文件嗎?你有沒有在「missingMethod」方法中實現圖像處理的原因?因爲該方法接受一個參數,並且它是一個參數數組,不像您定義的那樣是'$ filename'。你有沒有嘗試符號鏈接的方法? – Bogdan