A library for creating, reading and editing .zip files with JavaScript, with a lovely and simple API.
See https://stuk.github.io/jszip for all the documentation.
var zip = new JSZip();
zip.file("Hello.txt", "Hello World\n");
var img = zip.folder("images");
img.file("smile.gif", imgData, {base64: true});
zip.generateAsync({type:"blob"}).then(function(content) {
// see FileSaver.js
saveAs(content, "example.zip");
});
/*
Results in a zip containing
Hello.txt
images/
smile.gif
*/
If you want to enable compression, you need to pass additional options to the generateAsync
function:
zip.generateAsync({
type:"blob",
compression: "DEFLATE",
compressionOptions: {
/* compression level ranges from 1 (best speed) to 9 (best compression) */
level: 9
}
}).then(function(content) {
saveAs(content, "example.zip");
});
JSZip is dual-licensed. You may use it under the MIT license or the GPLv3 license. See LICENSE.markdown.