我一直在尝试将一个文件存储到storage/app/
(并从storage/app/
获取),遵循doc。
运行php artisan storage:link
后,可以看到有一个指向puiblic文件夹的链接。
如果我用下面的代码放一个文件...
Storage::put('/images/blah.png', $file);
...存储将如下所示。
我真的不确定链接是否工作正常,因为这个blah.png
无法检索。
到目前为止,我已经将storage
的访问级别更改为chmod -R 755 storage/
,并输入完整的URL(http://localhost:8000/storage/images/blah.png
。这是asset('storage/images/blah.png')
返回的内容)。但是,我仍然收到404错误(未找到)。
在config/filessystems.php
中,默认值设置为local
。(即'default' => 'local'
)
你看出我做错了什么吗?
如有任何建议,我们将不胜感激。
附言
以下是公用磁盘的配置...
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL') . '/storage',
'visibility' => 'public',
],
//env('APP_URL').'/storage' returns 'root/storage/app/public'
2条答案
按热度按时间ikfrs5lh1#
公用磁盘用于存放将公开访问的文件。默认情况下,公用磁盘使用本地驱动程序并将这些文件存储在storage/app/public中。要使这些文件可从Web访问,您应该创建一个从public/storage到storage/app/public的符号链接。
要创建从public/storage到storage/app/public的符号链接,请转到根文件夹:
然后,您可以将文件保存到storage/app/public:
然后,您可以使用以下方式访问图像文件:
edqdpe6u2#
在控制器中
和文件config/filesystems.php中的文件名
并且该盘