【问题标题】:Image Magick Module throwing weird error (Express js Node js)Image Magick Module 抛出奇怪的错误(Express js Node js)
【发布时间】:2016-01-11 12:22:53
【问题描述】:

请先看代码。在这里,我进行了一系列输入,照片的名称采用数组格式。

for (var i = 0; i < photos.length; i++) {
var x = './images/offers/' + testooo + '/' + photos[i];
var y = './images/offers/' + testooo + '/thumbnails/' + photos[i];
/*
gm(x)
.resizeExact(200, 200)
.write(y, function (err) {
  if (!err) console.log('done');
});*/

im.resize({

    srcData: fs.readFileSync(x, 'binary'),
    width: 200
}, function(err, stdout, stderr) {
    if (err) {

        console.log(err);
        console.log('error part');
    }
    fs.writeFileSync(y, stdout, 'binary');
    console.log('Resized Photos');
});
}

你可以看到图像魔法部分在那里引发了这个错误。

events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: write EOF
    at exports._errnoException (util.js:746:11)
    at WriteWrap.afterWrite (net.js:775:14)

现在我想补充一件事,您可以看到在评论部分有一些以 gm 文字开头的内容。我也尝试使用图形魔法模块。代码运行没有任何错误,但没有创建缩略图。 Graphics Magick 模块使用 image magick 模块工作。

请让我知道我做错了什么。

【问题讨论】:

  • 您能否在调用im.resize() 之前添加对fs.stat() 的调用,如here 所示,并显示输出?这将有助于我们进行故障排除。
  • @NathanJones 感谢您抽出宝贵时间。我只是这样做了,File Exists 打印在我的控制台上。
  • 如果你打开一个命令行shell,你能运行convert -version吗?根据this,您可能实际上没有安装 imagemagick。
  • @NathanJones 谢谢。问题完全相同,但只有一个来自 url 数组的图像正在重新调整大小。无论如何,这是一个不同的问题,我会调查一下。谢谢你的帮助。请发布与答案相同的内容,这将有助于其他面临类似问题的人。

标签: javascript node.js imagemagick node-imagemagick


【解决方案1】:

此错误可能是由于未安装 ImageMagick 造成的。

如果您无法运行 convert -version 并在 shell 中查看 ImageMagick 版本详细信息,您可能还没有安装它。

安装程序可以在here找到。

【讨论】:

  • 如果尝试在 Windows 上使用github.com/aheckmann/gm 模块调用 IM,我还必须在安装向导中选中“安装旧版实用程序(例如转换)”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-14
  • 2019-10-22
  • 2012-05-24
  • 1970-01-01
  • 2021-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多