Intervention \ Image \ Exception \ NotReadableException Невозможно инициализировать заданные двоичные данные

Мне нужно создать изображение из данных blob. Я использую платформу Laravel и Postman. Но в некоторых случаях изображение не создается, и отображается ошибка. Невозможно инициализировать данные из двоичных данных. Моя функция контроллера имеет следующий код

if ($request->get('logo')) {
        $image = $request->get('logo');
        $pos  = strpos($image, ';');
        $type = explode(':', substr($request->get('logo'), 0, $pos))[1];
        $type = explode("/", $type);
        $name1 = $request->user_id."-".time().'.'.$type[1];
        $profile->logo = $name1;
        if (!File::exists(public_path().'uploads/profiles/logo')) {
            File::makeDirectory(public_path().'uploads/profiles/logo', $mode = 0755, true, true);
        }
        \Image::make($request->get('logo'))->save(public_path('uploads/profiles/logo/').$name1);
    }

$ request-> get ('logo') содержат значение

data:image/jpeg;base64,/9j/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAQ4B4ADASIAAhEBAxEB/8QAHQAAAQUBAQEBAAAAAAAAAAAAAgADBAUGBwgJAf/EAFwQAAEDAgMGAgYGBwQGBwYBDQIAAwQFEgYiMgcTFEJSYiNyCBUkM4KSFkNTorLCASU0RGNz0jFUYeIJERdkg5MYJjVBRXTwITZRVZSjJ4Sz8hlGVpHTN3GBw+P/xAAbAQADAQEBAQEAAAAAAAAAAAAAAgMEBQEGB//EADoRAAICAQMDAwMCBAUDBAMBAAACAxIEEyIyAQVCERRSIzEzIWIVJEFDNFFhcXIGU5GBg…4V6aSSVCokkkkgCSSSQACkQ43Eu28nMkkvGPFNHGjXhaI5E1UntyO4a+JJJTNLcSpUiNDvzO6Ekl6wik6ywMqAwSSUywCGTJajDcRJJJRGKGZMdk9gKKkkmM4CSSSCQ09/Yo6SSVgO9ejlSrKNU5xD+0Pi0J+X/9NcfxzP8AWWMq3JIr7pRAPlHKkksac2OnP/hkKUEQAkkrHMHgBKy/KkkgBGFmVd49EKNfjqoO/wC6iH30klGf8RfH/Kp2raFMvxbLzaBEPuLyPtCn8Tj+sO3ZAfs+XIkkuBDzNWfxUVNZvdu5FuMKgNjubP0JJLl9yOTHxNQczcjkWCxVWHZLpscgkkkubiCSmfZTqSS7JIkciSSSiRDSSSQA6CaeeSSXi9AIhmkkktgDV5XJXpJJwAvSvSSQBHM86jvGkkqnig3oC0JJIKAJJJLQAlYU0yszaEklOTiBON6wkt8kkuf6dBAr0KSS9AA01MesaSSVlArzkkepMpJLaAkKSSAP/9k=

И при публикации данных из API почтальона я получил ошибку

Intervention \ Image \ Exception \ NotReadableException
Unable to init from given binary data.
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
783
1

Ответы 1

Вы должны попробовать это:

 if ($request->hasFile('logo')) {
        $image = $request->file('logo');
        $pos  = strpos($image, ';');
        $type = explode(':', substr($request->get('logo'), 0, $pos))[1];
        $type = explode("/", $type);
        $name1 = $request->user_id."-".time().'.'.$type[1];
        $profile->logo = $name1;
        if (!File::exists(public_path().'uploads/profiles/logo')) {
            File::makeDirectory(public_path().'uploads/profiles/logo', $mode = 0755, true, true);
        }
        \Image::make($request->get('logo'))->save(public_path('uploads/profiles/logo/').$name1);
    }

Я передаю данные blob как $ request-> get ('logo'). Не файл изображения

Asheeka K P 08.01.2019 11:24

Другие вопросы по теме