【发布时间】:2013-05-29 04:22:57
【问题描述】:
我有一个节点应用程序,它接受上传的图像(使用强大的)并将其存储到 Amazon S3 存储桶中。在将其保存到 S3 之前,我想获取图像的宽度、高度等以供将来考虑。我发现这个问题有帮助:Opening images on NodeJS and finding out width/height
但是,当我尝试使用 imagemagick(或 gm,就此而言,我都尝试过)打开图像时,我收到错误 127。具体来说,imagemagick 报告:
{"timedOut":false,"killed":false,"code":127,"signal":null}
我知道该文件存在(因为它已正确上传到 S3 存储桶),并且我可以通过 fs 对其进行操作(例如,重命名),但我找不到有关错误代码 127 的任何文档来确定 IM 失败的原因。考虑到上传到强大的文件可能有些奇怪导致它无法正确读取,我尝试使用 imagemagick 在同一文件夹中加载一个简单的“test.jpg”图像:
im.identify('test.jpg', function(err, features){
if(!err)
{
// my image processing code
}
else
{
// my err handling code; spits out the error above
}
});
不幸的是,尽管我确信 test.jpg 是一个很好且格式正确的图像,但它以完全相同的方式失败了。
那么,谁能帮我理解错误 127 是什么以及为什么 ImageMagick 会在 fs 能够正常读取文件时抛出它...?
【问题讨论】:
-
操作系统? ImageMagick 是如何安装的? ImageMagick 的版本?
-
OSX ImageMagick && GM 都通过 NPM 安装,例如“npm install imagemagick”,今天早上刚刚执行的 ImageMagick 版本……有输出功能吗?不要看到它是用一种愚蠢的方法打印的 console.log(im);
-
POSIX 错误 127 基本上是“找不到命令”。听起来好像没有安装 ImageMagick。 Node.js ImagicMagick 库是 ImagicMagic CLI 工具的包装器。
标签: node.js imagemagick