本文小编为大家详细介绍“怎么使用Node.js的gm模块处理图片”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Node.js的gm模块处理图片”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
构造参数说明
encoding 设置接收数据编码,默认是utf-8
maxFieldsSize 限制字段可以分配的内存量,默认2M
maxFields 限制在发出错误事件之前将要解析的字段数,默认1000
maxFilesSize 限制总文件大小,默认无穷大
autoFields 启用字段事件并禁用字段的部分事件。如果添加字段侦听器,则自动将其设置为true。
autoFiles 启用文件事件并禁用文件的部分事件。如果添加了一个文件侦听器,则自动将其设置为true。
uploadDir 文件上传的目录
==如果回调提供,autofields和autofiles被设置为true,所有字段和文件的收集和传递给回调,不再需要听任何形式的事件。==
事件说明
part 请求文件数据时触发,回调函数是一个实现可读流的实例对象
headers:头部文件
name:字段名称
filename:文件名称
byteFffset:主体数据的字节偏移量
byteCount:数据总的字节长度
aborted 在请求中止时触发
close 在请求结束之后触发
file 接收到文件的参数
name:字段名称
file:存储着文件信息的对象
fieldName:字段名称
originalFilename:文件名称
path:写到磁盘上文件的具体路径
headers:存储着头部信息
size:文件具体大小
field 获取请求的具体数据。回调函数两个参数
name:字段名
value:字段值
==注意使用part事件时,如果同时监听fields和files事,part事件会获取不到数据。==
更多说明
一般来说上传图片都会进行简单的处理,例如无损画质压缩,缩略图生成等
1、用 resize-img 进行缩略图制作
安装组件
npm install --save resize-img
代码实现
2、使用python图片处理库PIL
为什么使用python?
CPU密集型任务是Node.js的软肋,当服务器同时执行多个图片处理时(特别是比较大的图片时),会出现BUG,所以我们可以选用python图片处理库PIL
PIL安装
python实现
node调用pyhton
这里我推荐使用第二种方法
读到这里,这篇“怎么使用Node.js的gm模块处理图片”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。