将多个文件传输到zip文件中

问题描述 投票:2回答:1

我在GridFS文档存储中有几个文件,我想做的就是通过NodeJS中的stdin将这些数据通过管道传输到一个zip文件中。 这样我最终得到一个包含所有这些文件的zip文件。

现在,我的问题是如何在zip文件中为文件提供有效的文件名。 我想我需要模拟/伪造包含文件名的文件头吗?

任何帮助表示赞赏!

谢谢

mongodb node.js zip pipe gridfs
1个回答
4
投票

不久前,使用Node.js编写zip文件时遇到了问题。 我最终做了类似于在node.js中的Zip存档中描述的操作

我不能直接帮助您解决您的问题,但至少我希望可以指出一些事情:

  • 不要尝试使用节点归档。 即使描述中说它允许创建zip文件,但在我阅读源代码(因为不存在文档)的那一刻,我意识到这只是一个谎言。 它仅公开读取方法。
  • 像提供的链接中所建议的那样,通过生成一个进程来使用zip似乎是最好的方法。 可以执行的操作是将文件复制到具有所需名称的本地文件夹中,然后调用zip命令,以随后删除这些文件。
  • 似乎还可以的另一种选择是使用zipper( https://github.com/rubenv/zipper ,尽管最好使用npm)。 我真的不希望使用它的原因是因为没有太多的灵活性,它似乎在一天内完成,并且自第一次提交以来就没有进行修改,因此我不确定它将得到维护(当然,您可以将其分叉...)。

我发誓我有一个整个周末都没有工作的日子,我将写一个怪胎的模块来尽可能地做到这一点。 愚蠢的是,没有那么多的斗争。 blablablarant。

编辑:不确定它是否在那里,但是现在我一直在使用node-compress模块​​(也使用gzippo)。 工作正常。

© www.soinside.com 2019 - 2024. All rights reserved.