【问题标题】:Imagick PHP Exception 1630 on Chrome: Read exceptionChrome 上的 Imagick PHP 异常 1630:读取异常
【发布时间】:2016-01-15 10:01:59
【问题描述】:

在生成新图像时,我无法解决 Imagick(imagemagick 的 php 版本)的问题。

  1. 我通过 $_POST 检索我的图像
  2. 我用base64转换字符串
  3. 我在服务器上存货
  4. 我用新创建的图像生成一个新的 Imagick()

奇怪的是,该脚本在 Firefox + IE 上运行良好(生成新图像),但在 Google Chrome(桌面 + 移动)上会产生致命错误:

致命错误:未捕获的异常“ImagickException”和消息“已读” 异常`MYSERVERPATH/10562112e9c44d0.png'@ MYSERVERPATH/result.php:41 中的错误/png.c/MagickPNGErrorHandler/1630' 堆栈跟踪:#0

MYSERVERPATH/result.php(41): imagick->__construct('/httpdjail/var/...') #1 {main} 抛出 MYSERVERPATH/result.php 第 41 行

我的第 41 行是: $image = new Imagick(MY SERVER PATH.$file);

我是 PHP 编码的新手,任何帮助将不胜感激:)。

非常感谢您的帮助!

【问题讨论】:

    标签: php imagick


    【解决方案1】:

    我通过 $_POST 检索我的图像

    这感觉很糟糕,

    您的错误似乎暗示 MYSERVERPATH 没有转换为您应该在其中拥有的字符串,因此 imagemagik 不知道它在哪里,因此会出错。

    【讨论】:

    • 嗨,理查德,感谢您的回复。它肯定来自 $_POST,因为我的图片似乎被部分截断(生成的图像上有透明部分)。我该如何解决?有没有办法避免通过超长的 base64 字符串发送我的图像(并确保图像没有被裁剪)..?
    • 有时它会以 $_POST 的形式出现,但那是通过 javascript 生成的?好吧,如果它以 $_POST 的形式通过 - 您可以通过回显字符串来检查它,然后将字符串放在 chrome 中的 url 栏中。我认为你也可以这样做<img src="'.$_POST['mystring'].'"/>,它应该会出现。这将检查网址是否正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-26
    • 1970-01-01
    • 2022-06-16
    • 2019-12-06
    • 2013-03-12
    • 2016-10-21
    相关资源
    最近更新 更多