我正在构建一个Laravel应用程序,并在GD中使用Intervention进行图像处理。
当我尝试将JPG图像上传到控制器时,出现以下错误,并出现Whoops错误屏幕:
Intervention \ Image \ Exception \ NotReadableException:不支持的图像类型。 GD驱动程序只能解码JPG,PNG,GIF或WebP文件。在第57行的/var/www/html/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php文件中
堆栈跟踪:
- Intervention \ Image \ Exception \ NotReadableException->()/var/www/html/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php:57
Files:
file
array:5 [
"name" => "matt-thomason-735925-unsplash.jpg"
"type" => ""
"tmp_name" => ""
"error" => 1
"size" => 0
]
...
HTTP_ACCEPT_ENCODING "gzip, deflate"
CONTENT_TYPE "multipart/form-data; boundary=--------------------------023031476826032436071549"
CONTENT_LENGTH "2947672"
...
从内容的长度来看,由于我知道我的文件约为2.9MB,所以它大约是图像的整个大小。
因此,我通过Linux file
命令运行了文件,以查看.jpg
扩展名是否为假,但这是结果:
$ file ./matt-thomason-735925-unsplash.jpg
./matt-thomason-735925-unsplash.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, baseline, precision 8, 4032x3024, frames 3
以下是图片来源:https://unsplash.com/photos/YBLvEQ6npQo
此图像为什么有问题,可能是什么原因?服务器尝试读取文件时,文件可能被损坏了吗?
答案 0 :(得分:0)
这是我的错。文件超出最大大小。我需要更改php.ini
以增加最大文件大小以及最大帖子大小。