热门关键字:
jquery > jquery教程 > jquery教程 > Node.js gm模块处理图片(缩略图,加水印,裁剪图片)

Node.js gm模块处理图片(缩略图,加水印,裁剪图片)

334
作者:管理员
发布时间:2021/6/12 17:25:37
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=4937
  构造参数说明


  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


  这里我推荐使用第二种方法




如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:jquery
友荐云推荐