找不到 Laravel 5.4 存储文件

新手上路,请多包涵

我正在使用 laravel 5.4。我在 storage/app/public/documents 文件夹中上传了一些文档文件,比如

$request->paper_file->store('documents');

并且我的文件上传成功。

在文件系统中,默认存储是公共的,公共 conf 就像

'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',],

但是当我点击 /storage/documents/hQqlgifnVVH8bmrRPVdZ9aFGbhLmcc7g7bHZSX4u.pdf 时,它说找不到 404。如何解决这个问题。

原文由 Iftakharul Alam 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 273
2 个回答

默认情况下,Laravel 将文件放在 storage/app/public 目录中,外部网络无法访问该目录。所以你必须在那个目录和你的公共目录之间创建一个符号链接:

storage/app/public -> public/storage

您可以通过执行 php artisan storage:link 命令 ( docs ) 来做到这一点。

原文由 Jebediah 发布,翻译遵循 CC BY-SA 3.0 许可协议

将项目移动到不同的文件夹后,这个问题发生在我身上。如果您已经生成了存储链接,请尝试 删除 public/storage 文件夹并再次运行:

 php artisan storage:link

原文由 emilis 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏