<acronym id="indot"><dfn id="indot"></dfn></acronym>
<span id="indot"></span>

<bdo id="indot"><meter id="indot"></meter></bdo>
<label id="indot"><samp id="indot"></samp></label>
<label id="indot"><xmp id="indot">
  • <span id="indot"><table id="indot"></table></span>
    <center id="indot"><optgroup id="indot"></optgroup></center>
  • <bdo id="indot"><meter id="indot"></meter></bdo>
      當前位置:首頁 > javascript > nodejs > 正文內容

      nodejs 解壓文件,當文件名為中文名時會出現亂碼

      hxing6412年前 (2023-10-12)nodejs3896

      一開始我是使用compressing 去解壓的,后面一直出現亂碼,于是換了個解壓的包 yauzl 

      具體實現步驟:

      1. 安裝

        npm install yauzl

         2. 封裝了個解壓文件方法

      function unzip(zipFileName, outputDir){
              const yauzl = require('yauzl')
          return new Promise((resolve, reject) => {
              if (!fs.existsSync(outputDir)) {
                  fs.mkdirSync(outputDir, { recursive: true });
              }
              
              yauzl.open(zipFileName, {lazyEntries: true}, function(err, zipfile) {
                  if (err) reject(err);
                  else {
                      zipfile.readEntry();
                      zipfile.on("entry", function(entry) {
                          if (/\/$/.test(entry.fileName)) {
                              var dir = path.join(outputDir, entry.fileName);
                              if (!fs.existsSync(dir)) {
                                  fs.mkdirSync(dir, { recursive: true });
                              }
                              zipfile.readEntry();
                          } else {
                              zipfile.openReadStream(entry, function(err, readStream) {
                                  if (err) reject(err);
                                  else {
                                      var fileName = path.join(outputDir, entry.fileName);
                                      readStream.pipe(fs.createWriteStream(fileName));
                                      readStream.on("end", function() {
                                          zipfile.readEntry();
                                      });
                                  }
                              });
                         }
                     }).on("close",function(){
                       resolve("解壓完成");
                     });
                  }
              });
          });
      }

        3. 調用

       unzip(zipPath, outputPath).then(msg => console.log(msg)).catch(err => console.error(err));  // zipPath 是要解壓的文件路徑   outputPath是要輸出的目錄

           使用以上方法即可解決亂碼問題

      掃描二維碼推送至手機訪問。

      版權聲明:本文由星星博客發(fā)布,如需轉載請注明出處。

      本文鏈接:http://www.7811333.com/?id=422

      分享給朋友:

      “nodejs 解壓文件,當文件名為中文名時會出現亂碼” 的相關文章

      Node.js中的并發(fā)編程:利用事件循環(huán)實現高效多任務處理

      在Node.js中,利用事件驅動的非阻塞I/O模型,我們可以輕松地實現并發(fā)編程,高效地處理多個任務。本文將介紹Node.js中的并發(fā)編程概念、常用的實現方式以及相關代碼示例,并總結如何通過事件循環(huán)來實現高效的多任務處理。 一、并發(fā)編程概念...

      nodejs 文件操作類的封裝

      最近做node項目,操作文件特別不方便,于是封裝了工具類挺好用的,分享給大家 const fs = require('fs') const path = require('path') /** &nb...

      npm安裝時報錯,出現 certificate has expired

      最近使用npm安裝工具屢屢報錯,大致顯示為:npm ERR! request to https://registry.npm.taobao.org/cnpm failed, reason: certificate has expired.從報錯信息就可以知道是因為你之前設置的淘寶鏡像已過期,解決方法...

      發(fā)表評論

      訪客

      ◎歡迎參與討論,請在這里發(fā)表您的看法和觀點。
      主站蜘蛛池模板: 99久久综合国产精品免费| 色爱区综合激情五月综合激情| 五月婷婷开心综合| 色婷婷综合缴情综免费观看 | 日韩综合无码一区二区| 亚洲综合日韩中文字幕v在线| 久久综合久久综合亚洲| 色天天综合久久久久综合片| 亚洲情综合五月天| 丁香五月天综合缴情网| 色综合a怡红院怡红院首页| 一本久久a久久精品综合香蕉| 天天综合色天天桴色| 综合国产在线观看无码| 国产成人综合亚洲绿色| 亚洲综合一区二区| 婷婷色香五月综合激激情| 色综合婷婷在线观看66| 亚洲熟女综合一区二区三区| 亚洲国产综合专区在线电影| 久久99亚洲综合精品首页| 色婷婷久久综合中文久久一本`| 色综合色综合久久综合频道| 精品久久久久久综合日本| 狠狠综合亚洲综合亚洲色 | 伊人久久大香线焦AV综合影院| 丁香五月综合缴情综合| 小说区综合区首页| 天天狠狠色综合图片区| 久久婷婷五月综合色精品| 国产成人综合日韩精品婷婷九月 | 久久久久高潮综合影院| 亚洲综合色7777情网站777| 久久九九精品国产综合喷水| 国产成人综合亚洲AV第一页 | 一本久道久久综合| 一本久久综合亚洲鲁鲁五月天 | 人人狠狠综合久久亚洲婷婷| 亚洲国产美国国产综合一区二区| 久久99精品综合国产首页| 玖玖爱zh综合伊人久久|