node

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一致

上一篇下一篇

猜你喜欢

热点阅读