我使用以下命令为本地存储磁盘中的每个用户创建了一个子文件夹:
if(! Storage::disk('public')->has("users/".$username."_".Auth::user()->id)){
Storage::makeDirectory("public/users/".$username."_".Auth::user()->id);
它有效!
所以现在当我保存文件时,所有文件都进入用户的文件夹,即:
storage/app/public/users/userX
storage/app/public/users/userY
etc.
然后我用命令构建一个sim链接:php aritsan storage:link
它有效。
但是,当我试图提供文件时,我总是无所事事! 如果我使用的代码如下:
Storage::url("$urlToFile");
其中$urlToFile
包含"public/users/userX/file.png"
/storage/users/userX/file.png
即使我把assett()
之类的功能放在前面,我也无法使用它。
我该如何解决?
提前致谢!
答案 0 :(得分:0)
您必须在config/filesystem.php
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
答案 1 :(得分:0)
您可以Storage::disk('public')->get($url);
答案 2 :(得分:0)
According to the docs,您应该像以下一样访问您的图片:asset('storage/users/userX/file.png');
,而不是public/users/userX/file.png
。