我已经查看了关于此的其他帖子,我的某些原因似乎是独一无二的
基本上我要做的是将上传的照片存储在公共目录中以便于访问,但是当我存储它们时,我试图将它们存储在用户特定的文件夹中,所以
/public/photos/$User->id/$filename.jpg
现在我有Dropzone上传文件,我已经添加到我的filesystem.php这句话
'public_uploads' => [
'driver' => 'local',
'root' => public_path(),
],
所以从理论上来说,当我使用
访问它时Storage::disk('public_uploads')
它应该检索正确的路径
这是我的控制器
$User = User::find(Auth::user()->id);
$Photo = Request::file('photo');
Storage::disk('public_uploads')->put("photos/$User->id", $Photo);
然后我在上传时从Laravel收到此错误
{message: "Impossible to create the root directory "/censoredfilesystem/public/Photos/1".",…}
不知道这段时间来自哪里,我们非常感谢任何帮助
全部谢谢!
答案 0 :(得分:8)
通过根据评论设置权限来修复它,我使用
chown -R www-data:root .
在我的目录
的根目录中答案 1 :(得分:-1)
首先,删除这些文件夹
/public/storage
/storage/app/public
然后运行以下命令
php artisan storage:link
答案 2 :(得分:-2)
在Centos和Nginx中:
sudo chown -R nginx:root public/duck/