干预图像编码文件扩展名

时间:2018-03-04 22:04:15

标签: php laravel intervention

我正在尝试更改上传到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();

1 个答案:

答案 0 :(得分:1)

感谢BagusTesa,你是对的。这导致了这个问题。

getClientOriginalExtension();

获取要转换的扩展名。我需要将扩展​​名添加到文件名中。

更改此行:

$filename = 'listing'.'-'.uniqid().'.'.$classifiedImg->getClientOriginalExtension()

To This:

$filename = 'listing' . '-' . uniqid() . '.png';