2012-06-05 25 views
0

我有一个节点应用程序,它接受已上传的图像(使用强大的图像)并将其存储到Amazon S3存储桶中。在保存到S3之前,我想要获取图像的宽度,高度等,以备将来考虑。我发现这个问题,这帮助:Opening images on NodeJS and finding out width/heightNode.js ImageMagick&GM在尝试加载有效图像时都会导致错误127

然而,当我尝试使用ImageMagick的打开图像(或克,对于这个问题,我都试过)我得到错误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能够读取文件时抛出它... ...?

+0

操作系统? ImageMagick是如何安装的? ImageMagick的版本? –

+0

OSX ImageMagick && GM均通过NPM安装,例如, “npm install imagemagick”,仅在今天上午执行 ImageMagick的版本...是否有输出功能?看不到它用console.log(im)的一个骨头方法打印; –

+2

POSIX错误127 is basiclly'命令未找到'。这听起来像ImageMagick没有安装。 Node.js ImagicMagick库是ImagicMagic CLI工具的包装器。 –

回答

0

Derp。我没有安装ImageMagick。我认为NPM安装是所有必需的;不知道有额外的依赖,并且错误信息是有点神秘;)

2

这些是一些PHP命令来查找Imagemagick的路径,它应该确认它已安装。 有时在php中只有使用convert会出现问题,而您需要使用完整路径;像/ usr/local/bin/convert

echo "<pre>"; 
system("type convert"); 
system('which convert',$path); print_r($path); 
echo "</pre>"; 

我知道你没有使用php,但你仍应该可以使用这些方法。

1

确保“转换”安装

sudo易于得到更新

sudo易于得到安装ImageMagick的 - 修复缺失

相关问题