在Laravel 視圖中存取儲存影像
使用儲存在Laravel 儲存中的上傳映像時,在視圖中顯示它們可能會帶來挑戰。由於伺服器將請求路由到 /public,因此存取儲存在 /storage 中的映像需要一個解決方案。
符號連結
建議的方法是在 / 之間建立符號連結公共/儲存和/儲存/應用程式/公共。此命令在Laravel 版本5.3 及更高版本中可用:
php artisan storage:link
這將創建一個符號鏈接,允許您使用以下路徑訪問/storage/app/public 中的文件:
http://somedomain.com/storage/image.jpg
關閉路由
如果無法建立符號鏈接,您可以定義一個關閉路由來讀取和提供圖像:
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
警告
與伺服器端處理相比,手動提供檔案會導致效能損失。然而,這種方法對於受保護的文件或無法建立符號連結的環境很有用。
以上是如何在 Laravel 視圖中存取儲存影像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!