我正在尝试管理我的文件上传,但似乎我无法写入文件夹public/uploads
。
我有写权限,所以我不确定它是什么,有人看到了拼写错误吗?
我使用介入/图片库。
我的代码是:
$file = Input::file($fileName);
if ($file->isValid()) {
if ($file->getMimeType() == 'image/jpeg' || $file->getMimeType() == 'image/png') {
$path = public_path("uploads", $file->getClientOriginalName());
Image::make($file->getRealPath())->resize(180, null)->save($path);
} else {
throw new FileException;
}
}
抛出的异常是:
Intervention \ Image \ Exception \ NotWritableException
Can't write image data to path (/home/vagrant/Sites/cms/public/uploads)
答案 0 :(得分:5)
我发现了错字......
我有:$path = public_path("uploads", $file->getClientOriginalName());
更改为:
$path = public_path("uploads/" . $file->getClientOriginalName());
感谢您的快速回答!
答案 1 :(得分:1)
您需要检查文件夹及其父文件夹的权限。如果您使用的是linux,那么它应该是644.单个文件夹可能具有写访问权限,但父文件夹可能没有;或者它可能是错误的用户。检查所有权组。