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

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

Mary-Kate Olsen
發布: 2024-12-26 11:25:09
原創
324 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板