【问题标题】:Intervention \ Image \ Exception \ NotReadableException Unable to init from given binary dataIntervention\Image\Exception\NotReadableException 无法从给定的二进制数据初始化
【发布时间】:2019-01-08 18:45:30
【问题描述】:

我需要从 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.

【问题讨论】:

    标签: laravel image api postman


    【解决方案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').Not 图像文件传递
    猜你喜欢
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    相关资源
    最近更新 更多