节点js。将目录写入归档,而不指向此目录的路径

时间:2016-02-11 17:00:33

标签: node.js file

有一些任务,这并不难,但我有一些麻烦。 也许有人已经有类似的问题了。

我的任务是将ZIP存档写入一些文件夹,其中包含使用NodeJS的文件和其他文件夹

我尝试使用AdmZip pakage

文件夹项目结构: enter image description here

var AdmZip = require('adm-zip');

let Archive = new AdmZip();
Archive.addLocalFolder('Archive/filesFolder', '');
Archive.writeZip('Archive/newArchive.zip);

我必须使用'filesFolder'进行存档,而不是使用'Archive'文件夹进行存档,并且在其中我有'filesFolder'。

如果有人知道,如何只记录目标文件夹,而不是文件夹的顺序?

1 个答案:

答案 0 :(得分:1)

您所提供的是存档/ filesFolder 作为writeZip的值,这意味着包含在zip Archive文件夹中以及包含filesFolder的内部。

出于测试目的,将writeZip()的值更改为filesFolder.zip,并将Archive的内容压缩为当前工作目录中的filesFolder.zip。请参阅下文(您可以复制/粘贴代码并运行它,它应该可以工作)。

var zip = new AdmZip();
// I don't know why you provided a second argument to below, I removed it
// There was nothing about it in the documentation. 
zip.addLocalFolder('./Archive');

//rename the value of the following to just filesFolder.zip
zip.writeZip('filesFolder.zip');

以上内容应将Archive的内容输出到当前工作目录filesFolder.zip

我在评论中提到过这一点,而您的推荐似乎表明您有路径问题,请尝试上面的脚本。