您的位置:首页 > Web前端 > Node.js

解决NodeJs gm模块报错{ [Error: Command failed: aaЧaaaa ] code: 4, signal: null }

2015-12-18 22:06 751 查看
问题:

我在Window 8 系统上 Nodejs平台中使用gm模块处理图片时,如果不安装、安装imageGagick.exe版本不对或安装选项不对时都会报类似于“{ [Error: Command failed: aaЧaaaa ] code: 4, signal: null }”的错。

我这里试了mageMagick-6.2.7-6-Q16-windows-dll.exe和ImageMagick-7.0.0-0-Q8-x64-dll.exe、ImageMagick-7.0.0-0-Q8-x64-static.exe、ImageMagick-7.0.0-0-Q16-x64-dll.exe

4个版本的情况。

注意:后面三个7.0版本安装时必须勾选"Install legacy utilities(e.g. convert)"选项,否则依然会报错,而ImageMagick-6.2.7-6-Q16-windows-dll.exe默认安装即可



另外,ImageMagick-6.9.2-8-Q16-x64-static.exe安装时没有"Install legacy utilities(e.g. convert)"选项,安装完后会报错。


大家可以试试其他版本



下面介绍gm模块使用

1、正确在电脑上安装imageMagick组件

2、npm install gm

3、var gm=require('gm').subClass({ imageMagick : true });

4、压缩原图并生成压缩后的新图

gm('public/images/chat/abc.jpg')

.resize(240, 240,'!') //压缩为240*240

.write('public/images/chat/abc_new.jpg', function (err) {

if (!err)

console.log('done');

else

{

console.log(err);

}

});

5、压缩原图并返回文件流输出到客户端

gm1('public/images/chat/abc.jpg')

.resize(240, 240,'!')

.toBuffer(function(err,data){

if(!err)

{

res.set('Content-Type','image/png');

res.send(data);

}

else

{

console.log(err);

}}

)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: