Ошибка Gettign: источник изображения не читается в Laravel

Я успешно загрузил изображение. Но ошибка ниже при попытке изменить размер перед загрузкой изображения.

Вмешательство \ Изображение \ Исключение \ NotReadableException Источник изображения не читается

Контроллер.php

        $image=$request->product_image; 
        $thumbnailSize = '150X150';

        $upload_path='image/product/'.$request->product_name.'/';           

        $imageName = $request->product_name.time().'.'.$image->getClientOriginalExtension();

        $thumbnailImageName = $request->product_name.time().'.'.$image->getClientOriginalExtension().$thumbnailSize;

        $image_url = $upload_path.$imageName;

        $thumbnail_image_url = $upload_path.$thumbnailImageName;

        $image->move(storage_path($upload_path), $imageName);

        $resize_image = Image::make($image->getRealPath());

        $resize_image->resize(150, 150, function($constraint){
        $constraint->aspectRatio();
        })->save($upload_path);

Я также обновил свой композитор с помощью "intervention/image": "dev-master" в config/app.php.

Кто-нибудь помогите, пожалуйста? Заранее спасибо.


person Arafat Rahman    schedule 11.12.2019    source источник


Ответы (1)


Попробуйте этот код

$upload_path = storage_path().'image/product/'.$request->product_name.'/'; 

$image=$request->product_image; 
$imageName = $request->product_name.time().'.'.$image->getClientOriginalExtension();
$image->move($upload_path, $imageName);

$thumbnailSize = '150X150';
$thumbnailImageName = $thumbnailSize.$imageName;
File::copy($upload_path . $imageName, $upload_path . $thumbnailImageName);
Image::make($upload_path . $thumbnailImageName)
->resize(150, 150, function($constraint){
$constraint->aspectRatio();
})->save($upload_path . $thumbnailImageName);

Добавьте это в топ

use Image;
use File;

надеюсь, это поможет!

person Jaseel P V    schedule 11.12.2019
comment
показана новая ошибка Encoding format (jpg150X150) is not supported. - person Arafat Rahman; 11.12.2019
comment
@ArafatRahman В приведенном выше коде имя $thumbnailImageName имеет неправильное расширение файла, и пока Intervention пытается закодировать изображение, оно находит jpg150X150 в качестве расширения. Исправьте это, и ошибка кодирования должна уйти или кодировать вручную, используя метод encode() - person Anuj Shrestha; 11.12.2019