JavaScript
Need help with node-zip?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
daraosn
212 Stars 35 Forks 26 Commits 19 Opened issues

Services available

Need anything else?

node-zip

node-zip - Zip/Unzip files ported from JSZip

Installation

npm install node-zip

Usage

Complete example, zip multiple files

var fs = require('fs');
var path = require('path');

// The zip library needs to be instantiated: var zip = new require('node-zip')();

// You can add multiple files by performing subsequent calls to zip.file(); // the first argument is how you want the file to be named inside your zip, // the second is the actual data: zip.file('file1.txt', fs.readFileSync(path.join(__dirname, 'file1.txt'))); zip.file('file2.txt', fs.readFileSync(path.join(__dirname, 'file2.txt')));

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

// it's important to use binary encode fs.writeFileSync('test.zip', data, 'binary');


You can also load directly:

require('node-zip');
var zip = new JSZip(data, options)
    ...

Zip text into file:

var zip = new require('node-zip')();

zip.file('test.file', 'hello there'); var data = zip.generate({base64:false,compression:'DEFLATE'}); console.log(data); // ugly data

Unzip:

var zip = new require('node-zip')(data, {base64: false, checkCRC32: true});
console.log(zip.files['test.file']); // hello there

Write to a file (IMPORTANT: use binary encode, thanks to @Acek)

var fs = require("fs");
zip.file('test.txt', 'hello there');
var data = zip.generate({base64:false,compression:'DEFLATE'});
fs.writeFileSync('test.zip', data, 'binary');

Testing

npm install -g jasmine-node
jasmine-node test

Manual

node-zip uses JSZip, please refer to their website for further information: http://stuartk.com/jszip/

Contributors

David Duponchel @dduponchel

Feel free to send your pull requests and contribute to this project

License

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.