zip压缩工具jszip--nodejs常用模块(8)

原创 2014年06月08日 13:05:44

简单介绍

最近写个工具,需要将一些文件压缩到zip包里。使用nodejs调用机器上的zip命令也可以,但对机器就会有要求,需要安装zip命令。当npm上找了下,jszip和adm-zip,这两个工具都是用js实现的zip压缩和解压。adm-zip压缩工具有bug,压缩gif图片和jpg图片时,会出问题。下面主要介绍下jszip的使用
帮助文档
https://github.com/Stuk/jszip

下载的jszip工具,它的documentation目录下有api详细文档。

demo
这里只贴了代码,具体步骤参考《js,css压缩工具yuicompressor--nodejs常用模块(1)》

var JSZip = require('jszip');
var fs = require('fs');
var zip = new JSZip();

zip.file('test.txt', 'hello there');
zip.folder("images/img").file("201.gif", fs.readFileSync("../../source/img/201.gif"));
zip.folder("images/img").file("199.jpg", fs.readFileSync("../../source/img/199.jpg"));
zip.folder("images/img").file("weibo.png", fs.readFileSync("../../source/img/weibo.png"));
zip.folder("images/js").file("navigation.js", fs.readFileSync("../../source/js/navigation.js"));
var data = zip.generate({base64:false,compression:'DEFLATE'});
fs.writeFile('demo.zip', data, 'binary', function(){
    console.log('success');
});

生成的demo.zip的目录结构:
demo.zip
|--test.txt
|--images
|    |--img
|    |    |--201.gif
|    |    |--199.jpg
|    |    |--weibo.png
|    |--js
|    |    |--navigation.js

参数说明

这个工具api很多,这里就不列出来,详细信息看官方文档吧。但在使用过程中,发现官方文档有个问题,这里记录下。
对于generate方法options参数中base64属性,默认值为true(官方文档说默认值为false);指定为true或不指定时,生成的zip包会有问题,后续使用这个api时记得加一下就好。

var data = zip.generate({base64:false,compression:'DEFLATE'});



nodejs adm-zip 解压文件 中文文件名乱码

最近的一个项目需要上传zip文件到服务器,然后解压到当前目录,最初选用unzip包进行解压,开始使用的时候不知道这个包有监听函数,认为完全是同步的。实际是有完成解压监听函数的。使用adm-zip的时候...
  • u012251421
  • u012251421
  • 2017年05月18日 13:59
  • 1351

如何使用JSZip(How to use JSZip)

最近在用jszip来压缩script脚本以及相关的配置文件,所以详细了解了下它 , http://stuk.github.io/jszip/ JSZip是一个用于创建,阅读和编辑.zip文件的Ja...
  • sujun10
  • sujun10
  • 2017年07月25日 09:56
  • 4833

nodejs 中压缩/解压方案

项目里要用到archive和unarchive整个已存在的folder,在找解决方案的时候尝试了一些当前比较流行的library,主要有adm-zip, JSZip, archiver等。 假设要压...
  • u010403387
  • u010403387
  • 2015年06月15日 10:09
  • 3593

nodejs 导出数据和文件压缩包

nodejs 通过jszip实现数据和文件的zip导出
  • a564239493
  • a564239493
  • 2016年11月16日 17:10
  • 696

node---zlib压缩模块

var zlip = require('zlip');   压缩跟解压不限于文件操作,也可以是数据压缩,http请求的压缩。1> 常见的文件压缩fs.createReadStream('output....
  • baidu_33033415
  • baidu_33033415
  • 2017年03月17日 10:22
  • 572

nodejs 对文件进行 压缩加密和解压缩解密

utils.js var fs = require('fs'); var zlib = require('zlib'); var crypto = require('crypto'); funct...
  • dai_jing
  • dai_jing
  • 2016年10月26日 17:31
  • 2422

前端JSZIP库的使用

前端直接打包导出ZIP 文件 ,无需后台交互。 "en"> "UTF-8"> "http://stuk.github.io/jszip/dist/jszip.j...
  • cut001
  • cut001
  • 2017年05月26日 17:33
  • 2195

在vue.js中使用JSZip实现在前端解压文件

在vue.js中使用JSZip实现在前端解压文件,并将文件以string形式读取
  • zhongfei1217
  • zhongfei1217
  • 2016年11月22日 23:46
  • 3212

介绍JSZip

介绍JSZip, 使用JavaScript 压缩文件
  • waveinSydney
  • waveinSydney
  • 2017年09月23日 08:50
  • 367

jszip js压缩下载

  • 2014年10月31日 20:44
  • 32KB
  • 下载
收藏助手
不良信息举报
您举报文章:zip压缩工具jszip--nodejs常用模块(8)
举报原因:
原因补充:

(最多只允许输入30个字)