建立storage軟連結:
$ php artisan storage:link
這個指令會在public下建立一個storage資料夾,連結至storage/app/public。
上傳的檔案會存在storage/app/public下。
一般我們會把public資源都放在project的public下,如css, js, upload files等等,由於linux virtual host一般我們會直接指到public下,因此我就可以直接透過http://mydomain/storage/xxx.jpg來存取檔案。
程式碼範例: 儲存jpg檔案from url to local,並且取得local file url。
其中,$avatar_url 會是 https://xxx.com.tw/storage/avatar/abc/xxx.jpg
https://xxx.com.tw是在.env中設定的APP_URL。
config/filesystems.php:
其中env('APP_URL')會直接吃.env中的APP_URL,要設定好。
以此範例而言會是APP_URL=https://xxx.com.tw
後記:
如果上線習慣把整個project砍掉上傳新的,要記得把public下的storage folder砍掉,然後下 $ php artisan storage:link 重新建立軟連結。