无法在Laravel中上传图片

时间:2017-02-28 17:52:48

标签: php laravel laravel-5.3

我正在使用laravel 5.3.30并使用图像干预帮助程序上传图像。我在Image.php第143行中收到错误" NotWritableException:无法将图像数据写入路径(/ home / test / Desktop / Laravel / blog / public / images /)"上传图片时我已为目录设置了适当的权限,但仍无法上传图片。

上传图片文件的代码:

if($request->hasFile('featured_image')){
            $image = $request->file('featured_image');
            $filename = time().'.'.$image->getClientOriginalExtension();
            $location = public_path('images/', $filename);
            Image::make($image)->resize(800,400)->save($location);
            $post->image = $filename;
        }

我已经在线查看了解决方案,但没有找到它。如果我做错了,请纠正我。提前谢谢。

2 个答案:

答案 0 :(得分:3)

这是另一种方法。考虑存储在storage目录中,而不是public中。这是Laravel recommended way

它可能存储在storage/app/public/images目录中。然后使用php artisan storage:link命令创建符号链接。

这种方式在存储时使用此路径:

$location = storage_path('app/images/', $filename);

创建符号链接后,您可以访问图像网址     http://your-site.app/storage/images/qwerqrewqerwq.jpg

答案 1 :(得分:0)

运行此命令以修复权限:

chmod -R 755 /home/Desktop/Laravel/blog/public

如果它不起作用,如果它是本地机器,请尝试777。