首頁 >後端開發 >php教程 >如何在 Laravel 視圖中存取儲存影像?

如何在 Laravel 視圖中存取儲存影像?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-26 11:25:09323瀏覽

How Can I Access Storage Images in Laravel Views?

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn