jszip使用方法简介

当大文件需要在网络中传输时,最好进行压缩传输,然后在终点进行解压。以ZIP压缩为例,压缩后文件大小极具减小,可节约带宽,提高系统并发能力。下面介绍使用jszip在浏览器端的解压方法。

JSZip简介

JSZip是一个用于创建、读取和编辑.zip文件的javascript库,有一个可爱而简单的API。JSZip支持Nodejs和浏览器端的安装使用。具体方法如下:

1
2
3
4
5
6
7
With npm : npm install jszip

With bower : bower install Stuk/jszip

With component : component install Stuk/jszip

Manually : download JSZip and include the file dist/jszip.js or dist/jszip.min.js

浏览器端解压zip文件

后端Nodejs将zip文件以二进制形式存储到数据库中。当前端需要该zip文件时,后端将zip文件以二进制形式传输到前端,前端再解压还原。

Nodejs使用JSZip压缩文件

1
2
3
4
5
6
7
8
9
10
11
12
var JSZip = require("jszip");
var zip = new JSZip();

// create a file
zip.file("hello.txt", "Hello[p my)6cxsw2q");
// oops, cat on keyboard. Fixing !
zip.file("hello.txt", "Hello World\n");

// create a file and a folder
zip.file("nested/hello.txt", "Hello World\n");
// same as
zip.folder("nested").file("hello.txt", "Hello World\n");

浏览器端解压Zip文件

1
2
3
4
5
6
7
8
9
10
import JSZip from 'jszip'

let new_zip = new JSZip();

// Read zip package
new_zip.loadAsync(content)
.then(function(zip) {
// you now have every files contained in the loaded zip
new_zip.file("hello.txt").async("string");
});

参考链接

  1. ZIP格式,by wikipedia.
  2. gzip,bzip2,zip三种格式压缩率对比,by CatDeacon.
  3. JSZip,by stuk.