解决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);
}}
)
我在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);
}}
)
相关文章推荐
- Nodejs解决2分钟限制
- nodejs基础 -- web模块
- [转]Node.JS package.json 字段全解析
- 带中间件的api调用链|php与nodejs的异同
- nodejs+edatagrid读取本地excel表格
- [Unit Testing] Node testing: Test api Get request
- 用Eclipse调试Node.js代码
- The node (XXX.XXX.XXX.XXX,XXX.XXX.XXX.XXX)has already some ScaleIO components installed
- nodejs基础 -- 常用工具util
- Node.js 究竟是什么?
- PHP nodejs 多进程处理
- node 阻止favicon.ico请求
- Node.JS、Socket.IO 的 SSL/TLS 双向认证笔记
- LeetCode 19:Remove Nth Node From End of List
- 遍历DOM(NodeIterator和TreeWalker的使用)(转)
- nodejs基础 -- 全局对象
- NodeJs+Eclipse环境配置
- nodejs编译安装
- nodejs基础 -- 路由
- 【Nodejs】windows下node.js安装教程图文详解