我有一个节点应用程序接受上传的图像(使用强大的)并将其存储到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是什么以及为什么当fs能够正确读取文件时ImageMagick会抛出它??
答案 0 :(得分:2)
这些是一些php命令,用于查找Imagemagick的路径,该路径应确认已安装。 有时在php中只有使用转换的问题,你需要使用完整的路径;像/ usr / local / bin / convert
这样的东西echo "<pre>";
system("type convert");
system('which convert',$path); print_r($path);
echo "</pre>";
我知道你没有使用php,但你仍然可以使用这些方法。
答案 1 :(得分:1)
确保已安装“convert”
sudo apt-get update
sudo apt-get install imagemagick --fix-missing
答案 2 :(得分:0)
DERP。我没有安装ImageMagick。我认为NPM装置只需要一切;没有意识到还有其他依赖项,错误信息有点神秘;)
答案 3 :(得分:0)
我遇到了同样的问题,只需安装Graphicsmagick,http://www.graphicsmagick.org/
测试您的安装是否按照向导的建议运行,就是这样。