我正在尝试更改上传到png格式的所有图片。我正在使用Laravel的Intervention Image包,并调用encode函数。图像文件未更改为.png
这是我的上传脚本:( 一切都在上传,调整大小并且似乎正在压缩。只是没有转换为png文件)
if($request->hasFile('listing_image')){
$classifiedImg = $request->file('listing_image');
$filename = 'listing'.'-'.uniqid().'.'.$classifiedImg->getClientOriginalExtension();
Image::make($classifiedImg)->encode('png', 65)->resize(760, null, function ($c) {
$c->aspectRatio();
$c->upsize();
})->save(public_path('/images/users/listing-images/' . $filename));
$classified->listing_image = $filename;
$classified->save();
}else{
$classified->save();
}
我在这部分做错了什么:
Image::make($classifiedImg)->encode('png', 65)->resize(760, null, function ($c)...
OR导致问题:
getClientOriginalExtension();
答案 0 :(得分:1)
感谢BagusTesa,你是对的。这导致了这个问题。
getClientOriginalExtension();
获取要转换的扩展名。我需要将扩展名添加到文件名中。
更改此行:
$filename = 'listing'.'-'.uniqid().'.'.$classifiedImg->getClientOriginalExtension()
To This:
$filename = 'listing' . '-' . uniqid() . '.png';