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中的包 npm install http://www.cnblogs.com/xiaohuochai/archive/2017/05/20/6882027.html