Ошибка при сохранении загруженного файла значка с изменением размера с помощью пакета Intervention в Laravel 7.19.0 - PullRequest
0 голосов
/ 13 июля 2020

Вмешательство \ Image \ Exception \ NotReadableException Неподдерживаемый тип изображения. Драйвер GD может декодировать только файлы JPG, PNG, GIF или WebP.

Вот мой код:

use Intervention\Image\ImageManagerStatic as Image;

$this->validate($request, [
                'logo' => 'image|mimes:jpeg,png,jpg',
                'favicon' => 'mimes:ico',
                'first_section_image' => 'image|mimes:jpeg,png,jpg'
               ]);

if ($request->hasFile('logo') || $request->hasFile('favicon') || $request->hasFile('first_section_image')) {

            if ($request->hasFile('logo')) {
                $image = $request->file('logo');
                $filename = $image->getClientOriginalName();
                $logoNameToStore = time() . "_" . $filename;

                $image_resize = Image::make($image->getRealPath());
                $image_resize->resize(46, 248);
                $image_resize->save(public_path('uploadedFiles/' . $logoNameToStore));
            }

            if ($request->hasFile('favicon')) {
                $image = $request->file('favicon');
                $filename = $image->getClientOriginalName();
                $faviconNameToStore = time() . "_" . $filename;

                $image_resize = Image::make($image->getRealPath());
                $image_resize->resize(16, 16);
                $image_resize->save(public_path('uploadedFiles/' . $faviconNameToStore));
            }

            if ($request->hasFile('first_section_image')) {
                $image = $request->file('first_section_image');
                $filename = $image->getClientOriginalName();
                $firstSectionImageNameToStore = time() . "_" . $filename;

                $image_resize = Image::make($image->getRealPath()); // <--- exception occurs here
                $image_resize->resize(1482, 1532);
                $image_resize->save(public_path('uploadedFiles/' . $firstSectionImageNameToStore));
            }

        }

Я работаю над сохранением загруженных файлов изменяя размер. Нет проблем с форматами jpg, jpeg, png, но проблема с файлом favicon. Если я не ошибаюсь, то похоже, что ico fomrat не поддерживается для чтения и работы этим пакетом (как и другие форматы). Есть ли другой способ сделать это с помощью этого пакета?

Моя цель: «Пользователям будет разрешено загружать файл значков любого размера. Laravel захватит файл и сохранит файл в каталоге, изменив размер до width: 16px & height: 16px ".

...