搜尋

首頁  >  問答  >  主體

使用Laravel 8的blade asset來顯示圖片,但從資源子資料夾加載

我對 Laravel 還很陌生,所以請耐心等待。

我正在將我在 Node/React 中開發的框架複製到 Laravel。目前,我正在調整主要架構,目前正在製作刀片母版頁。

目標 1:

#

我想在模板頁面中使用blade {{ asset() }} 幫助程式載入圖片。問題是我想從位於資源資料夾內的子資料夾載入圖片:

/resources/app_files_layout

我知道我可以透過將資料夾移到公共目錄來做到這一點,但這不是我想要的。我的目的還在於加深對 Laravel 框架的學習和理解,並嘗試在其他語言上保持與我的框架的架構保真度。

目標 2:

#

在我設法透過 Blade 中的 {{ asset() }} 幫助程式從 /resources/app_files_layout 載入圖片後,我想在原始程式碼中使用路徑的別名。例子: 我希望它顯示:http://localhost/images/image-name.jpg,而不是在瀏覽器中的輸出HTML 中顯示http://localhost/app_files_layout/image-name.jpg 並且從不向使用者顯示這些檔案位於app_files_layout 資料夾中。

我想要做的事情在 Laravel 中是否可行?

最壞情況:

#

如果 Laravel 沒有必要的架構來完成我想要的操作,我可以設定一個在 /resources/app_files_layout 資料夾中顯示映像的路線。也就是說:當我在瀏覽器上造訪 http://localhost/images/image-name.jpg 時,應該載入位於 /resources/app_files_layout/image-name.jpg 中的圖片。

我嘗試遵循這個 stackoverflow 建議: https://stackoverflow.com/a/38736973/2510785 但是,返回給我一個錯誤,如下所示:

The requested resource /files-layout-test/backend-layout-header-tb02-03.jpg was not found on this server.

提前謝謝!

P粉428986744P粉428986744386 天前926

全部回覆(1)我來回復

  • P粉928591383

    P粉9285913832023-11-10 09:47:01

    我成功地做到了這一點。所有功勞都歸功於@donkarnash 關於這個問題,我發布了為其創建路由別名的最壞情況:Laravel 8 – 為公共目錄中的圖像資料夾創建路由別名

    我使用了符號連結方法,幾乎類似於@sergey-ligus在評論中提到的方法。

    1 – 編輯 laravel \config\filesystems.php 檔案: 最初看起來像這樣:

    links' => [
        public_path('storage') => storage_path('app/public'),
    ],

    編輯後,如下圖所示:

    'links' => [
        public_path('storage') => storage_path('app/public'),
        public_path('files-layout') => resource_path('app_files_layout'),
    ],

    2 - 然後,在命令終端機中,我執行了以下命令:

    php artisan storage:link

    3 - 最後,我運行了伺服器並進行了測試。我不僅可以透過 http://localhost:8000/files-layout/backend-layout-header-tb02-03.jpg 在瀏覽器中存取該文件,而且仍然可以使用 laravel assetblade helper。

    刀片檔:

    {{ asset('/files-layout/backend-layout-header-tb02-03.jpg') }}

    回覆
    0
  • 取消回覆