Image Magick Module 抛出奇怪的错误(Express js Node js)
Posted
技术标签:
【中文标题】Image Magick Module 抛出奇怪的错误(Express js Node js)【英文标题】:Image Magick Module throwing weird error (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 数组的图像正在重新调整大小。无论如何,这是一个不同的问题,我会调查一下。谢谢你的帮助。请发布与答案相同的内容,这将有助于其他面临类似问题的人。
【参考方案1】:
此错误可能是由于未安装 ImageMagick 造成的。
如果您无法运行 convert -version
并在 shell 中查看 ImageMagick 版本详细信息,您可能还没有安装它。
安装程序可以在here找到。
【讨论】:
如果尝试在 Windows 上使用github.com/aheckmann/gm 模块调用 IM,我还必须在安装向导中选中“安装旧版实用程序(例如转换)”。以上是关于Image Magick Module 抛出奇怪的错误(Express js Node js)的主要内容,如果未能解决你的问题,请参考以下文章
运行包抛出 ImportError: No module named image
闪亮的 Flexdashboard 中的 image_composite (Magick) 返回错误
R语言使用magick包的image_animate函数创建多张图片滚动播放的动图( Animating image frames)