背景:
Laravel 的儲存機制可讓您儲存使用者頭像和其他文件,但這些文件通常位於/storage 資料夾中,無法透過以下方式存取該資料夾指向/public資料夾的常規 HTTP 請求。
解決方案:
要在視圖中顯示儲存中的使用者頭像,有兩種主要方法:
1。建立符號連結
建議的方法是使用下列指令在/public/storage 資料夾和/storage/app/public 資料夾之間建立符號連結:
php artisan storage:link
這將創建一個快捷方式,允許您存取儲存文件,就像它們位於/public 資料夾中一樣。然後,您可以如下存取視圖中的頭像:
<img src="{{ asset('storage/avatars/' . $user->avatar) }}">
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; });
然後您可以使用/storage 路由存取視圖中的頭像:
<img src="{{ route('storage.show', ['filename' => $user->avatar]) }}">
注意事項:
以上是如何在視圖中顯示 Laravel 儲存中的使用者頭像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!