I have Laravel project that admin can upload images with different size. The problem occur when admin uploads product image in jfif format it shows a error Encoding format (jfif) is not supported.
. I used laravel intervention image package everything is working fine but jfif format is not supported. Please explain why? And how I fix this bug.
Controller code:
$request->validate([
'product_id' => 'required',
'product_name' => 'required',
'product_image' => 'required|image|mimes:jpeg,png,jpg|max:2048',
'description' => 'required',
],
[
'product_id.required' => 'Product id required',
'product_name.required' => 'Product name required',
'regular_price.required' => 'Actual price required',
'selling_price.required' => 'Discount price required',
'description.required' => 'Product description required',
'product_image.required' => 'Image required',
]);
$products = new Product;
$products->cat_id = $request->cat_id;
$products->product_id = $request->product_id;
$products->product_name = $request->product_name;
$products->slug = Str::slug($request->product_name);
$products->childcat_id = $request->childcat_id;
$products->regular_price = $request->regular_price;
$products->selling_price = $request->selling_price;
$products->description = $request->description;
$products->small_desc = $request->small_desc;
$products->status = $request->status;
if ($request->hasFile('product_image')) {
$image = $request->file('product_image');
$filename = $image->getClientOriginalName();
$image_resize = Image::make($image->getRealPath());
$fileNameToStore = $filename;
$relPath = 'storage/product/thumbnail'; //your path inside public directory
$relPathSecond = 'storage/product/large';
$relPathThird = 'storage/product/medium';
if (!file_exists(public_path($relPath))) { //Verify if the directory exists
mkdir(public_path($relPath), 666, true); //create it if do not exists
}
if (!file_exists(public_path($relPathSecond))) { //Verify if the directory exists
mkdir(public_path($relPathSecond), 666, true); //create it if do not exists
}
if (!file_exists(public_path($relPathThird))) { //Verify if the directory exists
mkdir(public_path($relPathThird), 666, true); //create it if do not exists
}
$image_resize->resize(180, 180)->save(public_path('storage/product/thumbnail/'.$filename));
$image_resize->resize(266, 266)->save(public_path('storage/product/medium/'.$filename));
$image_resize->resize(420, 420)->save(public_path('storage/product/large/'.$filename));
$products->product_image = $fileNameToStore;
$products->save();
}
$products->save();
return redirect()
->route('products.index')
->with('success', 'product added successfully.');
Please help. Thanks in advance.
source https://stackoverflow.com/questions/68595633/encoding-format-jfif-is-not-supported
Comments
Post a Comment