我正在嘗試在 Laravel 應用程序中顯示圖像。該映像來自另一個磁盤,該磁盤是 samba 共享。我按照 Laravel 文檔中的配置說明進行操作,這是我的設置:文件系統.php'shop_storage' => [ 'driver' => 'local', 'root' => env('SHOP_STORAGE_PATH', base_path('shop_storage')), 'dir' => [ 'public' => 0777, 'private' => 0777, ]],使用以下命令將我的 samba 共享安裝到 Laravel 應用程序內的根文件夾 /shop_storage 中: sudo mount.cifs //PATH_TO_FILE_SHARE/ARMMAG ./shop_storage -o credentials=$HOME/.smbcredentials,rw,file_mode=0777,dir_mode=0777,mfsymlinks當我打開文件夾時,我正確地看到了所有文件。然后,我使用以下命令 添加了從/public/storage到的符號鏈接:(使用從 /home 開始的完整路徑,出于隱私原因在此處刪除)當我打開 時,我正確地看到指向 samba 共享的符號鏈接。如果我單擊打開它,我會看到所有文件。我正在尋找的文件存在。/shop_storagesudo ln -s /shop_storage /public/storage/public/storage問題是當我嘗試在網頁中顯示它時,請求返回 404。以下是我嘗試過的一些操作:<img src="{{\Storage::disk('shop_storage')->url('products/16/MAZJKj59EY0XQ57oKIibKr33eZ5dsqAPx44MCHHJ.png')}}"><img src="http://localhost:8000/shop_storage/products/16/MAZJKj59EY0XQ57oKIibKr33eZ5dsqAPx44MCHHJ.png"><img src="{{asset('products/16/MAZJKj59EY0XQ57oKIibKr33eZ5dsqAPx44MCHHJ.png')}}"><img src="{{asset('storage/products/16/MAZJKj59EY0XQ57oKIibKr33eZ5dsqAPx44MCHHJ.png')}}">我究竟做錯了什么?編輯 經過一些嘗試/錯誤,我設法使用以下語法獲得不同的響應: <img src="{{asset('storage/shop_storage/products/16/MAZJKj59EY0XQ57oKIibKr33eZ5dsqAPx44MCHHJ.png')}}"> 現在,我收到以下錯誤You don't have permission to access /storage/shop_storage/products/16/MAZJKj59EY0XQ57oKIibKr33eZ5dsqAPx44MCHHJ.png on this server.我的權限設置為777,這可能是什么原因造成的?
1 回答

aluckdog
TA貢獻1847條經驗 獲得超7個贊
為了完成這項工作,我最終所做的是將我的共享直接安裝到公共/存儲中,而不是使用符號鏈接。然后我可以使用 laravel asset helper 訪問該文件:
<img src="{{asset('storage/products/16/MAZJKj59EY0XQ57oKIibKr33eZ5dsqAPx44MCHHJ.png')}}">
- 1 回答
- 0 關注
- 205 瀏覽
添加回答
舉報
0/150
提交
取消