亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 幫助中心 > 正文

nodejs中使用archive壓縮文件的實現代碼

2024-07-09 22:42:16
字體:
來源:轉載
供稿:網友

前言

archive是一款在nodejs中可以實現跨平臺打包的工具

可以將文件壓縮為zip或rar格式

是一個比較好用的第三方模塊

install

npm install archiver --save

archive github地址:https://github.com/archiverjs/node-archiver

Quick Start

// require modulesvar fs = require('fs');var archiver = require('archiver');// create a file to stream archive data to.var output = fs.createWriteStream(__dirname + '/example.zip');//設置壓縮格式為zipvar archive = archiver('zip', {  zlib: { level: 9 } // Sets the compression level.});// listen for all archive data to be written// 'close' event is fired only when a file descriptor is involvedoutput.on('close', function() {  console.log(archive.pointer() + ' total bytes');  console.log('archiver has been finalized and the output file descriptor has closed.');});// This event is fired when the data source is drained no matter what was the data source.// It is not part of this library but rather from the NodeJS Stream API.// @see:  https://nodejs.org/api/stream.html#stream_event_endoutput.on('end', function() {  console.log('Data has been drained');});// good practice to catch this error explicitlyarchive.on('error', function(err) {  throw err;});// pipe archive data to the filearchive.pipe(output);// append a file from streamvar file1 = __dirname + '/file1.txt';archive.append(fs.createReadStream(file1), { name: 'file1.txt' });// append a file from stringarchive.append('string cheese!', { name: 'file2.txt' });// append a file from buffervar buffer3 = Buffer.from('buff it!');archive.append(buffer3, { name: 'file3.txt' });// append a filearchive.file('file1.txt', { name: 'file4.txt' });// append files from a sub-directory and naming it `new-subdir` within the archivearchive.directory('subdir/', 'new-subdir');// append files from a sub-directory, putting its contents at the root of archivearchive.directory('subdir/', false);// append files from a glob patternarchive.glob('subdir/*.txt');// finalize the archive (ie we are done appending files but streams have to finish yet)// 'close', 'end' or 'finish' may be fired right after calling this method so register to them beforehandarchive.finalize();

實際使用

實際使用中情況可能會比較多

需要打包的源文件一般為遠程文件,比如某一個第三方的文件存放地址,這時則需要先將第三方文件下載到本地

示例方法,可以根據實際需要修改相應的參數

function download(files){  //下載文件的本地存檔地址  //示例 files = [{name: 'xxxx.js',url:'https://xx/xx/xxxx.js'}]  let dirPath = path.resolve(__dirname, '文件存放的本地位置')  mkdir(dirPath);  let tmps = files.map((item,index) => {    let stream = fs.createWriteStream(path.resolve(dirPath, item.name));  return new Promise((resolve,reject)=>{    try {      request(item.url).pipe(stream).on("close", function (err) {        console.log("文件[" + item.name + "]下載完畢");        resolve({          url: path.resolve(dirPath, item.name),          name: item.name        })      });    } catch (e) {      reject(e||'')    }  })});return new Promise((res,rej)=>{  Promise.all(tmps).then((result) => {    console.log(result)    res(result)  }).catch((error) => {    console.log(error||'')  })})}//創建文件夾目錄function mkdir(dirPath) {  if (!fs.existsSync(dirPath)) {    fs.mkdirSync(dirPath);    console.log("文件夾創建成功");  } else {    console.log("文件夾已存在");  }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品免费看| yellow中文字幕久久| 国产精品视频午夜| 久久精品一偷一偷国产| 狠狠躁夜夜躁人人爽天天天天97| 国产欧美日韩精品丝袜高跟鞋| 久久久久久久久久久国产| 亚洲美女福利视频网站| 成人午夜高潮视频| 国产免费观看久久黄| 亚洲香蕉成视频在线观看| 久久国产精品电影| 理论片在线不卡免费观看| 亚洲欧美综合另类中字| 国产一区二区久久精品| 日韩最新中文字幕电影免费看| 久久五月天色综合| 欧美性videos高清精品| 欧美激情免费看| 国内精品久久久久影院优| 亚洲国产精品久久精品怡红院| 日韩精品一区二区视频| 91成人精品网站| 538国产精品一区二区免费视频| 欧洲成人在线视频| 91av视频导航| 午夜精品一区二区三区视频免费看| 精品一区二区三区三区| 欧美中文字幕在线观看| 国语自产精品视频在线看| 最近2019中文字幕在线高清| 4k岛国日韩精品**专区| 欧美激情高清视频| 在线观看日韩专区| 91色精品视频在线| 欧美美女操人视频| 午夜剧场成人观在线视频免费观看| 精品久久久久久久久久ntr影视| 日韩精品欧美国产精品忘忧草| 日韩在线观看免费全集电视剧网站| 成人网址在线观看| 精品久久久精品| 日韩乱码在线视频| 亚洲欧美一区二区激情| 亚洲精品98久久久久久中文字幕| 精品久久香蕉国产线看观看gif| 国产精品白嫩初高中害羞小美女| 亚洲成年人在线| 国产偷亚洲偷欧美偷精品| 亚洲电影免费观看| 日韩欧美亚洲一二三区| 亚洲日本中文字幕免费在线不卡| 97碰碰碰免费色视频| 91社影院在线观看| 欧美专区国产专区| 久久成人这里只有精品| 91国内精品久久| 成人免费视频网址| 亚洲美女喷白浆| 国产精品jvid在线观看蜜臀| 国产欧美日韩最新| 日韩理论片久久| 久久久久久久国产精品视频| 亚洲人成人99网站| 插插插亚洲综合网| 国产精品福利在线观看网址| 九九热这里只有精品6| 69国产精品成人在线播放| 精品无人区乱码1区2区3区在线| 久久av在线播放| 国产精品免费看久久久香蕉| 北条麻妃99精品青青久久| 一区二区三区视频免费在线观看| 国产精品白嫩初高中害羞小美女| 黄色成人在线播放| 欧美精品久久久久久久久| 国产一区二区香蕉| 欧美日韩国产在线看| 久久久久久噜噜噜久久久精品| 国产精品久久久久一区二区| 亚洲天堂免费观看| 日韩人体视频一二区| 日韩av资源在线播放| 国模精品系列视频| 欧美激情视频网站| 国产热re99久久6国产精品| 色狠狠久久aa北条麻妃| 91sa在线看| 亚洲一区av在线播放| 乱亲女秽乱长久久久| 成人综合网网址| 亚洲电影成人av99爱色| 欧美另类精品xxxx孕妇| 亚洲网站在线观看| www亚洲精品| 欧美性受xxxx黑人猛交| 国产精品你懂得| 亚洲国产成人一区| 久久成人18免费网站| 欧美黄色免费网站| 91久久久久久| 久久久久久久久久久久av| 尤物yw午夜国产精品视频| 奇米成人av国产一区二区三区| 久久亚洲一区二区三区四区五区高| 久久久精品2019中文字幕神马| 亚洲欧美精品一区二区| 国产精品专区一| 久久久天堂国产精品女人| 91麻豆桃色免费看| 福利一区福利二区微拍刺激| 欧美午夜女人视频在线| 精品国产一区二区三区久久狼黑人| 亚洲国产成人91精品| 性欧美xxxx交| 国产一区二区色| 色综合久久天天综线观看| 亚洲电影天堂av| 国产精品mp4| 亚洲综合中文字幕68页| 久久久91精品国产| 日韩免费观看视频| 亚洲国产毛片完整版| 亚洲美女视频网| 最近2019中文免费高清视频观看www99| 97久久久免费福利网址| 欧美—级a级欧美特级ar全黄| 国产va免费精品高清在线观看| 久久成人免费视频| 日韩免费av一区二区| 青草青草久热精品视频在线观看| 亚洲成人黄色网址| 日韩精品免费在线视频| 欧美理论片在线观看| 日本一区二区在线免费播放| 国产99久久精品一区二区 夜夜躁日日躁| 国产成人精品视| 欧美亚州一区二区三区| 日韩网站免费观看高清| 国产成人综合亚洲| 亚洲区在线播放| 韩国视频理论视频久久| 欧日韩在线观看| 国产日韩在线视频| 性视频1819p久久| 亚洲欧美另类中文字幕| 久久精品99久久久香蕉| 91免费看片网站| 亚洲人成在线电影| 国产精品久久久久久久久久99| 国产午夜精品免费一区二区三区| 久久久精品在线| 永久免费精品影视网站| 亚洲片国产一区一级在线观看| 亚洲国产日韩一区| 国产在线视频一区| 国产精品一区二区女厕厕| 亚洲人午夜精品免费| 成人欧美一区二区三区黑人| 国产精品久久久久久久久久久新郎| 精品在线小视频| 国产午夜一区二区| 国产伊人精品在线| 欧美精品videosex极品1|