nodejs使用archive文件压缩
2017-01-05 本文已影响0人
王高
archiver是一个在nodejs中能跨平台实现打包功能的模块,可以打zip和tar包,是一个比较好用的三方模块。
安装方法
npm install --save archive
代码
var archiveFileName = localPath+'export/'+file_name+'.zip';
var output = fs.createWriteStream(archiveFileName);
var archive = archiver('zip', {
store: false // Sets the compression method to STORE.
});
// listen for all archive data to be written
output.on('close', function() {
console.log(archive.pointer() + ' total bytes');
console.log('archiver has been finalized and the output file descriptor has closed.');
});
// good practice to catch this error explicitly
archive.on('error', function(err) {
throw err;
});
// pipe archive data to the file
archive.pipe(output);
// append files from a directory
archive.directory(path,dest_path);
// finalize the archive (ie we are done appending files but streams have to finish yet)
archive.finalize();
如果不设置dest_path的话,zip包内的目录会跟文件夹的path一致