我正在使用intervention/image 2.3
。当我尝试上传图片时出现以下错误:
AbstractEncoder.php第212行中的InvalidArgumentException
质量必须介于0到100之间
以下是我的代码:
$file = Input::file('image');
$filename = time() . '.' . $file->getClientOriginalExtension();
Image::make($file)->resize(50, 50)->save(storage_path() . DIRECTORY_SEPARATOR . 'uploads', $filename);
任何单一的指导都会对我有所帮助。 根据{{3}}网址,我尝试传递第二个可选参数,即质量但不起作用。我甚至尝试过
Image::make($file)->resize(50, 50)->save(storage_path() . DIRECTORY_SEPARATOR . 'uploads'. $filename, 50);
答案 0 :(得分:1)
我遇到了这个问题,并通过以下代码解决了该问题:
$file = $request->file('img_profile');
$file_name = date('Ymd-his').'.png';
$destinationPath = 'uploads/images/';
$new_img = Image::make($file->getRealPath())->resize(400, 300);
// save file with medium quality
$new_img->save($destinationPath . $file_name, 80);
答案 1 :(得分:0)
save()
方法的第一个参数应为path + name,第二质量(0-100),您在路径和,
之间使用“ $filename
”而不是.
做类似的事情
->save('your/path/'.$filename);
或->save('your/path/'.$filename, 80);
答案 2 :(得分:0)
我遇到过这个问题,像这样使用save()
$image = $request->file('img_src');
$filename = time().'.'.$image->getClientOriginalExtension();
$image_resize = Image::make($image->getRealPath());
$image_resize->fit(250);
$image_resize->save(public_path('/imgs/'.$filename));