nodejs使用archive文件压缩

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容