nodejs用archiver模块压缩文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs用archiver模块压缩文件相关的知识,希望对你有一定的参考价值。

router.get(‘/download/qiantu‘,function(req,res){
	var dirname = (new Date()).getTime()
	var zippath = ‘./down/‘+dirname+‘.zip‘
	
	var output = fs.createWriteStream(zippath)
	var ziparchiver = archiver(‘zip‘,{
		store:true
	})
	ziparchiver.pipe(output)
	async.mapSeries(req.session.qtimagesurl,function(item, callback){//异步下载
    	setTimeout(function(){
        	//downloadPic(item, dir+‘/‘+ (new Date()).getTime() +‘.jpg‘);
        	ziparchiver.append(request(item),{‘name‘:‘images/‘+(new Date()).getTime() +‘.jpg‘})
       		callback(null, item);
    	},400);
	}, function(err, results){
		req.session.qtimagesurl =[] //下载完成后清空
		ziparchiver.finalize()
		res.render(‘index‘)
	});
})

 request(item),请求远程图片文件用request,本地文件就用fs.createReadStream

item为图片路径

var output = fs.createWriteStream(zippath)这个是压缩文件名字

{‘name‘:‘images/‘+(new Date()).getTime() +‘.jpg‘}
压缩文件解压后的命名,/前面会自动生产相应文件夹

ziparchiver.finalize()结束操作


以上是关于nodejs用archiver模块压缩文件的主要内容,如果未能解决你的问题,请参考以下文章

NodeJS 文件(夹)压缩/解压(zip/unzip)

nodejs——压缩文件

用nodejs压缩文件步骤

nodeJS中的包 npm install http://www.cnblogs.com/xiaohuochai/archive/2017/05/20/6882027.html

shutil模块——压缩目录文件

nodejs常用代码片段