我正在尝试使用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;
}