TypeError:无法读取未定义的属性“位图”(ApostropheCMS)

时间:2018-09-24 09:13:52

标签: apostrophe-cms

尝试上载任何GIF文件时,发生奇怪的错误。出现此错误:

Unsupported MIME type: image/gif
Unsupported MIME type: image/gif
Unsupported MIME type: image/gif
Unsupported MIME type: image/gif
Unsupported MIME type: image/gif
Unsupported MIME type: image/gif
Unsupported MIME type: image/gifUnsupported MIME type: image/gif
Unsupported MIME type: image/gifUnsupported MIME type: image/gif
C:\Users\Azmin\Desktop\amin-website\node_modules\uploadfs\lib\image\jimp.js:46        var originalWidth = image.bitmap.width;
                                  ^

TypeError: Cannot read property 'bitmap' of undefined
    at Jimp.<anonymous> (C:\Users\Azmin\Desktop\amin-website\node_modules\uploadfs\lib\image\jimp.js:46:35)
    at Jimp.throwError (C:\Users\Azmin\Desktop\amin-website\node_modules\jimp\index.js:85:44)
    at ReadFileContext.callback (C:\Users\Azmin\Desktop\amin-website\node_modules\jimp\index.js:201:44)
    at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:420:13)
  

有什么解决办法吗?

1 个答案:

答案 0 :(得分:0)

通过uploadfs模块,Apostrophe支持多个后端来处理图像。默认情况下,您得到jimpjimp很有帮助,因为它是纯JavaScript且不依赖于系统软件包,但它也非常慢,并且Apostrophe的uploadfs模块中当前的版本不支持GIF。

升级uploadfs中的jimp并测试结果将是一个不错的请求,但是有一个更好的长期解决方案为您服务。 Apostrophe之所以只使用jimp,是因为它找不到imagemagick,它速度更快并且完全支持GIF。

解决方案是在开发环境和服务器上都安装imagemagick。这很容易做到。

在Ubuntu Linux中:

sudo apt-get install imagemagick

在Red Hat风格的Linux中,例如CentOS:

sudo yum install ImageMagick

在MacOS中:

(如果尚未安装homebrew,请先安装。肯定要在Mac上进行开发的homebrew。)

brew install imagemagick

在Windows上:there is an official installer.,您需要确保选中相应的框以安装“传统实用程序”,例如identifyconvert。您还需要确保它们在您的PATH中结束,以便在命令行中可以找到它们(在cmd提示符下键入convert应该运行该imagemagick实用程序)。然后确保重新启动要测试的cmd窗口,以确保它们看到该路径已更改。