如何在 zip 文件归档器中创建文件夹 - node.js

Posted

技术标签:

【中文标题】如何在 zip 文件归档器中创建文件夹 - node.js【英文标题】:how to create folder in zip file archiver - node.js 【发布时间】:2017-03-15 10:55:06 【问题描述】:

我想在其中创建一个zip 文件和新的folder。 我创建了一个 zip 文件,但无法创建文件夹。

这是我的node.js 代码;

var archiver = require('archiver');
var zip = archiver('zip');

for(var i=0; i < files.length; i++)
     zip.append(new Buffer(files[i].data.buffer),  name: files[i].name  );    

例如,我想将文件夹创建为/first/second 并在其中添加文件。

.zip
  first(folder)
     second(folder)
        file

我该怎么做?

【问题讨论】:

您确定您使用的 zip 模块是用于编辑 zip 存档的。这就是文档所说的“An implementation of unzip in javascript for Node” 我用 archiver 来压缩是的。 【参考方案1】:

实际上,我只是意识到通过编辑以下行中的名称字段非常简单;

zip.append(new Buffer(files[i].data.buffer),  name: files[i].name  );    

作为

zip.append(new Buffer(files[i].data.buffer),  name: "/folderName/" + files[i].name  );    

您可以将/folderName/ 替换为您要创建的任何文件名。

【讨论】:

【参考方案2】:

https://www.npmjs.com/package/mkdirp

创建文件夹的节点模块

【讨论】:

但是我要如何在 zip 文件夹中创建文件夹呢?

以上是关于如何在 zip 文件归档器中创建文件夹 - node.js的主要内容,如果未能解决你的问题,请参考以下文章

如何在 plsql (Oracle) 中创建 zip 文件夹

如何在 plsql (Oracle) 中创建 zip 文件夹

如何在 Nsis 中创建 zip 文件

在 Spark 中的 EMR 上使用 --py-files 从 .zip 文件(使用 zipfile 包在 python 中创建)导入模块时出现问题

如何在 CakePhp 中创建 Zip 文件并下载?

如何在 Java 中创建一个 zip 文件