对存储/公共符号链接感到困惑

时间:2017-05-14 20:16:39

标签: laravel laravel-5 laravel-5.3

当我保存文件时,我使用:

$request->file('avatar')->store('avatars');

将其保存在以下目录中:

storage/app/avatars

但我的符号链接(由php artisan storage:link创建)链接到:

storage/app/public

但我的文件都没有保存在该文件夹下?它们全部保存在storage/app下(例如storage/app/avatars)。

当我将所有文件保存在不同的目录下时,有人可以向我解释这个storage/app/public文件夹吗?

1 个答案:

答案 0 :(得分:1)

您正在将文件存储在local磁盘中,但如果您需要此功能,则应将其存储在public磁盘中。

  

公用磁盘适用于可公开访问的文件。默认情况下,公共磁盘使用本地驱动程序并将这些文件存储在storage / app / public中。要使它们可以从网络访问,您应该创建一个从公共/存储到存储/应用/公共的符号链接。

     

来源:https://laravel.com/docs/5.4/filesystem#the-public-disk

您需要告诉Laravel将其存储在公共磁盘中。

$request->file('avatar')->store('avatars', ['disk' => 'public']);