干预图像编码文件扩展名

Intervention Image encode file extension

我正在尝试将所有上传的图像更改为 png 格式。我正在为 Laravel 使用 Intervention Image 包,并调用编码函数。图像文件未更改为 .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)...

或者这是导致问题的原因:

getClientOriginalExtension();

谢谢 BagusTesa,您是对的。这是导致问题的原因。

getClientOriginalExtension();

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

更改此行:

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

为此:

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