干预 Laravel - JPG 提供的图像类型不受支持
Intervention with Laravel - Unsupported image type provided with JPG
我正在构建一个 Laravel 应用程序并使用 Intervention with GD 进行图像处理。
当我尝试将 JPG 图像上传到我的控制器时,发生了以下错误并显示了糟糕的错误屏幕:
Intervention\Image\Exception\NotReadableException: Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files. in file /var/www/html/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php on line 57
Stack trace:
- 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,所以它大约是图像的完整大小。
所以我运行文件通过Linuxfile
命令查看.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
为什么这张图片有问题,可能的原因是什么?会不会是服务器试图读取文件时文件以某种方式损坏了?
是我的错。文件超过最大大小。我需要更改 php.ini
以增加最大文件大小以及最大 post 大小。
我正在构建一个 Laravel 应用程序并使用 Intervention with GD 进行图像处理。
当我尝试将 JPG 图像上传到我的控制器时,发生了以下错误并显示了糟糕的错误屏幕:
Intervention\Image\Exception\NotReadableException: Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files. in file /var/www/html/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php on line 57
Stack trace:
- 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,所以它大约是图像的完整大小。
所以我运行文件通过Linuxfile
命令查看.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
为什么这张图片有问题,可能的原因是什么?会不会是服务器试图读取文件时文件以某种方式损坏了?
是我的错。文件超过最大大小。我需要更改 php.ini
以增加最大文件大小以及最大 post 大小。