通过清心醉

laravel -intervention模块上传视频异常

Intervention\Image\Exception\NotReadableException: Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files. in file /www/web/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php on line 59

首先说一下,不是GD库的问题,什么都没有问题。

定位文件:

/www/web/vendor/stevenyangecho/laravel-u-editor/src/Controller.php

这里

            case 'uploadvideo':
                
                $upConfig = array(
                    "pathFormat" => $config['videoPathFormat'],
                    "maxSize" => $config['videoMaxSize'],
                    "allowFiles" => $config['videoAllowFiles'],
                    'fieldName' => $config['videoFieldName'],
                );
                $result = with(new UploadFile($upConfig, $request))->upload();

                break;

调用UploadFile方法,方法文件:

/www/web/vendor/stevenyangecho/laravel-u-editor/src/Uploader/UploadFile.php

关键的来了

        //生成水印
        
        $config=Cache::get('thumbsize');
        $water_on=Cache::get('water');
        $watermark=Cache::get('watermark');
        $waterposition=Cache::get('waterposition');
        $img = Image::make($this->file->getPathname()); #问题点
        if($water_on=='开启' || $water_on=='on'){
            $img->insert("uploads/".$watermark, $waterposition, 10, 10)->save($this->file->getPathname());
        }

修改为:

        $config=Cache::get('thumbsize');
        $water_on=Cache::get('water');
        $watermark=Cache::get('watermark');
        $waterposition=Cache::get('waterposition');
        if($water_on=='开启' || $water_on=='on'){
            $img = Image::make($this->file->getPathname()); #就是这个在作怪
            $img->insert("uploads/".$watermark, $waterposition, 10, 10)->save($this->file->getPathname());
        }

因为这里是检测,是否要做水印,然后以图片的格式进行处理了

我不知道是不是laravel-u-editor官方的问题,看了官方的Github是没问题的。

因为手上接过来的项目是朋友的,要么就是他之前的开发者甚至国内所谓大神修改之后保留的水印处理。

我只想说:大聪明真多~

关于作者

清心醉 administrator

发表评论

请输入验证码: