使用archivejs库

时间:2018-04-19 08:50:10

标签: node.js macos archiverjs

我尝试使用archivejs库存档包含多个文件的文件夹。

作为参数,我发送绝对路径到包含我的文件的目录。 我想在归档的根目录中获取带有文件的压缩目录。我正在使用createWriteStream创建zip文件。由于某种原因,它无法正常工作。

我想要实现的目标:

假设我有文件夹下载我要归档的文件在哪里。 然后我创建 download.zip ,我希望将所有文件放在存档的根目录中。

我的zip文件中没有写入文件意味着它变空了。 哪里应该是问题?

function createArchiveZip(destinationDir) {
      const archive = archiver("zip", { zlib: { level: 9 } }); 
      const archiveDir = `${destinationDir}.zip`;
      const zipOutput = fs.createWriteStream(archiveDir);
      console.log("archiveDirarchiveDir",archiveDir);

      zipOutput.on("error", writeStreamError => {
        console.log("writeStreamError", writeStreamError);
      });
      zipOutput.on("end", writeStreamEnd => {
        console.log("writeStream finish", writeStreamEnd);
      });
      archive.on("warning", archiveWarnings => {
        console.log("archiveWarnings", archiveWarnings);
      });
      archive.on("error", archiveErr => {
        console.log("archiveErr", archiveErr);
      });
      archive.pipe(zipOutput);
      archive.directory(destinationDir, false);
      archive.finalize();
      return archiveDir;
    }

0 个答案:

没有答案