【问题标题】:Intervention with Laravel - Unsupported image type provided with JPGLaravel 的干预 - JPG 提供的不支持的图像类型
【发布时间】:2018-07-13 16:31:58
【问题描述】:

我正在构建一个 Laravel 应用程序,并正在使用带有 GD 的干预来进行图像处理。

当我尝试将 JPG 图像上传到我的控制器时,出现以下错误并出现 Whoops 错误屏幕:

Intervention\Image\Exception\NotReadableException:不支持的图像类型。 GD 驱动程序只能解码 JPG、PNG、GIF 或 WebP 文件。在第 57 行的文件 /var/www/html/vendor/intervention/image/src/Intervention/Image/Gd/Decoder.php 中

堆栈跟踪:

  1. 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

为什么这张图片有问题,可能的原因是什么?可能是服务器尝试读取文件时文件以某种方式损坏?

【问题讨论】:

    标签: php laravel intervention


    【解决方案1】:

    这是我的错。文件超过了最大大小。我需要更改我的 php.ini 以增加最大文件大小以及最大帖子大小。

    【讨论】:

      猜你喜欢
      • 2020-06-15
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-17
      • 1970-01-01
      • 2012-05-15
      • 2015-04-10
      相关资源
      最近更新 更多