scribble

Leon's scribble.

About Email GitHub

30 Apr 2014
Javascript 在浏览器端创建文件并打包成 zip

项目叫 JSZip,支持创建文件(文本 or 图片)然后打包成 Zip 包提供给用户下载,所有操作都是在浏览器端完成,并且支持 IE8,JSZip 利用的是 ActiveXObject、Blob 等不太为人所知的 Browser API。

下面是官网的示例,用法比较简洁,我在其中增加了中文注释:

var zip = new JSZip();

// 创建一个文本文件,内容为hello World
zip.file("Hello.txt", "Hello World\n");

// 创建一个images的文件夹
var img = zip.folder("images");

// 创建一个图片文件
img.file("smile.gif", imgData, {base64: true});

// 生成blob大对象
var content = zip.generate({type:"blob"});

// 打包保存为example.zip
saveAs(content, "example.zip");

/*
example.zip包含以下文件
Hello.txt
images/
    smile.gif
*/

项目地址:https://github.com/Stuk/jszip


Til next time,
Leon at 22:12

scribble

About Email GitHub