第一步安装imageMagick和gm模块

1, cnpm install --save imageMagick gm

第二步在服务器上安装imageMagick,下载地址http://www.imagemagick.org/download/windows/ (另外安装时需要勾选Install legacy utilities(e.g. convert)选项)

第三步 代码使用

var imageMagick = gm.subClass({ imageMagick : true });
var fs= require('fs');
var formidable = require('formidable'); router.post('/upload',function(req,res){
var host = req.headers.host;
var origin = req.protocol + "://" + host;
var form = new formidable.IncomingForm(); form.uploadDir = "tmp"; //指定文件存放的临时目录 form.parse(req, function(err, fields, files) {
if(files.wangEditorH5File){//h5方式上传 var tempFilePath = files.wangEditorH5File.path;
var newFileName = files.wangEditorH5File.name; }else{ //ie8,ie9使用表单方式上传 var tempFilePath = files.wangEditorFormFile.path;
var fileName = files.wangEditorFormFile.name;
var fileType = fileName.split('.')[1];
var newFileName = Math.random().toString().slice(2)+'.'+fileType; } fs.rename( tempFilePath, process.cwd() + '/public/uploads/' + newFileName, function(err){
if(err) {
res.set('Content-Type', 'text/plain;charset=UTF-8');
return res.send('error|'+err.stack);
}
// res.end(origin+'/uploads/'+newFileName);//返回图片地址
imageMagick(process.cwd() + '/public/uploads/' + newFileName)
.resize(750, 450, '!') //加('!')强行把图片缩放成对应尺寸150*150!
.autoOrient()
.write(process.cwd() + '/public/uploads/min/' + newFileName, function(err){
if(err){
// res.set('Content-Type', 'text/plain;charset=UTF-8');
return res.end('error|'+err.message);
}
res.sendFile(process.cwd() + '/public/uploads/min/' + newFileName)
});
})
});
})

Note:如果执行以上三步报错的话,请确保将安装目录下的convert.exe文件所在目录添加到系统环境变量里

其他参考文档 gm命令大全

使用gm和imageMagick处理图片的更多相关文章

  1. 使用ImageMagick处理图片后导致图片变大的问题

    最新在使用ImageMagick处理图片时,发现有时经过处理的图片变大的问题. 例如原图为27K,经处理后的图片会变为77K. 先看测试代码: // imgtest.cpp : 定义控制台应用程序的入 ...

  2. JMagic 操作 ImageMagick 处理图片

    项目描述 imagemagick是功能强大的图片处理库,以稳定及高效率著称,众多语言对该库进行封装处理.比如php.java.由于我们是java项目,直接使用java通过JNI技术调用ImageMag ...

  3. Im4java 操作 ImageMagick 处理图片

    背景 之前用的是JMagick,各种限制各种坑,直到使用了Im4java,真是相当的好用啊. 项目描述 ImageMagic的安装可参考:图片处理软件 ImageMagick 的安装和使用 Im4ja ...

  4. 图片处理GraphicsMagick & ImageMagick

    用Java的ImageIO处理一个大于15M的JPG文件,内存溢出. 于是寻求新的解决方案,用ImageMagicK,发现处理图片速度不令人满意,于是切换至GraphicsMagicK,如下是总结. ...

  5. NodeJs + gm图片缩略图

    我的另一篇文章: Nginx/Apache图片缩略图技术 gm官网 1, 软件环境 nodejs npm GraphicsMagick or ImageMagick 貌似ImageMagick在处理大 ...

  6. ImageMagick图片服务器

    1.前置准备工具如下: nodejs express(nodejs mvc框架) body-parser(express middleware) gm(nodejs中用来处理图片的) uuid(nod ...

  7. 【gm】

    gm : GraphicsMagick for node.js aheckmann/gm imgAreaSelect 图片剪裁 apt-get install imagemagick 执行conver ...

  8. ImageMagick

    http://blog.csdn.net/lan861698789/article/details/7738383 1.官网 http://www.imagemagick.org/script/ind ...

  9. 图片处理服务 ImageMagick 的安装和使用

    简介 该文章使用目前官方最新版本7.0.8,这里只记录下Windows系统下的安装. 官方网站:http://www.imagemagick.org/script/index.php. ImageMa ...

随机推荐

  1. [转]URL汉字编码问题(及乱码解决)

    一.问题的由来 URL就是网址,只要上网,就一定会用到. 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址 “http://www.ab ...

  2. 合并果子(NOIP2004)

    合并果子(NOIP2004)[问题描述]在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆.每一次合并,多多可以把两堆果子合并到一起,消耗的体 ...

  3. DUBBO本地搭建及小案例 (转)

    DUBBO的介绍部分我这里就不介绍了,大家可参考官方文档. DUBBO的注册中心安装 DUBBO的注册中心支持好几种,公司用到zookeeper注册中心,所以我这边只说明zookeeper注册中心如何 ...

  4. 编译Boost库

    VS版本: 虽然网络上有,但是还是记录下,找到VS的command prompt,然后切换到boost的根目录: 1.运行 bootstrap.bat 它在当前目录下会生成b2.exe2. 2.运行b ...

  5. oracle收购Mysql后,Mysql的安装配置方法

    自从Oracle收购MySQL后,略微发生了一些小小的变化,原来mysql安装完成后默认是没有密码的,但是新版的mysql安装完成后oracle提供了一个free password放着/root/.m ...

  6. 查看linux设备文件系统类型的方法

    网络上找来找去没有找到简单的,最后翻了鸟哥的书就找到了,鸟哥的书还是真的有用心写的. /proc/filesystems 当前被内核支持的文件系统类型列表文件 /etc/filesystems 系统已 ...

  7. 神文章2:文本矩阵简述 V1.0 -vivo神人

    评论: 牛逼的业余书籍爱好者读书思路,指导思想. 2013/9/22         文本矩阵简述 V1.0http://www.douban.com/note/170688812/ 文/vivo   ...

  8. k8s实战之数据卷(volume)

    一.概述 数据卷用于实现容器持久化数据,k8s对于数据卷重新定义,提供了丰富强大的功能:数据卷分为三类: 本地数据卷,网络数据卷和信息数据卷 二.

  9. kubernetes架构之二

    一.概述 IaaS:即基础设施即服务,通过虚拟化和分布式存储等技术,实现对包括服务器.存储设备.网络设备等各种物理资源的抽象:从而形成了一个可扩展.可按需分配的虚拟资源池.最具代表性的IaaS产品有A ...

  10. HTTP 请求头 Header

    HTTP 请求头 Header HTTP请求头概述 (HttpServletRequest) HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST或者HEA ...