存取Laravel 儲存中上傳的影像以進行視圖渲染
在Laravel 應用程式中,使用者頭像或其他媒體資源可能儲存在儲存目錄中。要在視圖中存取和顯示這些影像,您有多種選擇:
1。建立符號連結
從 Laravel 5.3 開始,artisan storage:link 指令建立從 public/storage 到 storage/app/public 的符號連結。這允許您使用前一個路徑存取後一個目錄中的檔案:
http://somedomain.com/storage/image.jpg
2.使用檔案服務的自訂路由
如果建立符號連結不可行,您可以建立自訂路由來讀取和提供映像:
Route::get('storage/{filename}', function ($filename) { $path = storage_path('public/' . $filename); if (!File::exists($path)) { abort(404); } $file = File::get($path); $type = File::mimeType($path); $response = Response::make($file, 200); $response->header("Content-Type", $type); return $response; });
使用此路由,您可以使用以下路徑存取檔案:
http://somedomain.com/storage/image.jpg
3.使用乾預圖像庫(可選)
如果使用乾預圖像庫,您可以利用其response()方法:
Route::get('storage/{filename}', function ($filename) { return Image::make(storage_path('public/' . $filename))->response(); });
重要提示:
與讓 HTTP 伺服器直接處理檔案相比,手動提供檔案可能會導致效能損失。因此,請考慮將符號連結作為獲得最佳效能的首選方法。
以上是如何存取 Laravel 視圖中儲存的影像以獲得最佳效能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!