我正在使用laravel 5.2并在处理图片上传时遇到问题。我收到错误
NotWritableException in Image.php line 143: Can't write image data to path (C:\Users\SurajLifeean\surj\public\images/)
此代码在我的控制器内。
$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;
我有一个解决方案,包括在开头
use Illuminate\Support\Facades\File;
但它没有帮助。 可以任何人建议我一个解决方案
答案 0 :(得分:1)
从您的错误消息中得到两个问题,
1)NotWritableException
表示您尝试触摸的文件夹不可写,这意味着您需要为该文件夹授予777权限
2)当您使用UNIX目录分隔符时,您处于Windows环境下。
将DIRECTORY_SEPARATOR
常量用作目录分隔符而不是固定分隔符始终是一种好习惯。
如下:
$location = public_path('images' . DIRECTORY_SEPARATOR, $filename);
或仅在您的情况下使用:
$location = public_path('images\', $filename);