php 质量范围必须为0至100 -干预Laravel 5.x

63lcw9qa  于 2023-02-07  发布在  PHP
关注(0)|答案(4)|浏览(91)

我使用的是intervention/image 2.3。当我尝试上传图片时,出现以下错误:
在第212行出现异常
质量必须在0到100之间
下面是我的代码:

$file = Input::file('image');
$filename = time() . '.' . $file->getClientOriginalExtension();
Image::make($file)->resize(50, 50)->save(storage_path() . DIRECTORY_SEPARATOR . 'uploads', $filename);

任何单一的指导将帮助我很多.根据this的URL,我试图通过第二个可选参数,即质量,但没有工作.我甚至尝试

Image::make($file)->resize(50, 50)->save(storage_path() . DIRECTORY_SEPARATOR . 'uploads'. $filename, 50);
brgchamk

brgchamk1#

我曾经遇到过这个问题,我用下面的代码解决了它:

$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);

查看http://image.intervention.io/api/save了解更多...

gwo2fgha

gwo2fgha2#

save()方法的第一个参数应该是路径+名称,第二个质量(0-100),您在路径和$filename之间使用了“,“,而不是.执行类似->save('your/path/'.$filename);->save('your/path/'.$filename, 80);的操作

ha5z0ras

ha5z0ras3#

我遇到过这个问题,像这样使用保存()

$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));
ie3xauqp

ie3xauqp4#

问题是您传递的是 file name 而不是 quality 参数。
可能你正在从$file-〉move()方法重写basic?只要用一个DIRECTORY_SEPARATOR替换逗号:

Image::make($file)->resize(50, 50)->save(storage_path() . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR . $filename);

相关问题