【问题标题】:Unzip the specific folder in NodeJS解压NodeJS中的特定文件夹
【发布时间】:2020-07-05 07:35:36
【问题描述】:

有什么方法可以通过 NodeJS 从 zip 文件中解压缩特定文件夹。

我试过了

const unzipper = require('unzipper');
const fs = require('fs');

fs.createReadStream('path/to/archive.zip') // Your zip file
  .pipe(unzipper.Parse())
  .on('entry', function (entry) {
    const fileName = entry.path;
    const type = entry.type; // 'Directory' or 'File'
    // file_name1, file_name1 are files which you are looking for
    if (type === 'File' && ['file_name1', 'file_name1'].indexOf(fileName) >= 0) {
      entry.pipe(fs.createWriteStream('output/path/' + fileName)); // Output folder of unzip process
    } else {
      entry.autodrain();
    }
 });

但这仅适用于文件。我想查找特定的文件夹并解压缩。

【问题讨论】:

  • “查找特定文件夹”是什么意思?您是否在硬盘驱动器上查找特定文件夹?您是否在 zip 文件中查找特定文件夹?
  • 如果zip中包含根目录,我想排除根目录,否则忽略

标签: node.js subdirectory unzip


【解决方案1】:
var filename = req.files[0].filenam
var zippath = __dirname + "../../../../../public/uploads/pages/zip/"
var unzippath = __dirname + "../../../../../public/uploads/pages/"
fs.createReadStream(zippath + filename).pipe(unzipper.Extract({ path: unzippath }))

【讨论】:

    猜你喜欢
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-07
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多