2011-10-10 218 views
2

我在GridFS文檔存儲中有幾個文件,我想要做的就是通過NodeJS中的stdin將這些數據導入到zip文件中。所以我最終會得到一個包含所有這些文件的zip文件。將多個文件導入zip文件

現在我的問題是我怎樣才能給這些文件的有效文件名裏面的壓縮文件。我想我需要模擬/僞造一個包含文件名的文件頭?

任何幫助表示讚賞!

感謝

回答

4

與Node.js的寫zip文件時,不久前我有問題。最後我做類似的東西在Zip archives in node.js

描述的東西,我不能與你的問題幫你直接,但至少我希望我可以指出一些事情:

  • 不要試圖使用節點歸檔。即使描述說它允許創建zip文件,但當我閱讀源代碼時(因爲文檔不存在),我意識到這只是一個謊言。它只公開閱讀的方法。
  • 通過產生一個進程使用zip,就像在提供的鏈接上推薦的那樣,似乎是最好的方法。一些可行的方法是將文件複製到本地文件夾中,然後調用zip命令,然後再刪除文件。
  • 另一個選項似乎沒問題,就是使用拉鍊(https://github.com/rubenv/zipper,儘管最好只使用npm)。我並不真正希望使用它的原因是因爲沒有太大的靈活性,它似乎在一天內完成,並且自第一次提交以來它沒有被修改過,所以我不確定它會接受維護(當然,你可以把它叉起來......)。

我發誓,我有一個完整的免費週末,沒有工作我會寫一個瘋狂的模塊,儘可能完成這個。愚蠢的是沒有,也不應該那麼艱難。 blablablarant。

編輯:如果 不知道它在那裏,但現在我已經使用節點,壓縮模塊(也使用gzippo)。它工作正常。

+0

嗨,我會加入你編寫一個不錯的zip庫:)我去了產卵過程流輸出的標準輸出;)但如果我們可以流數據到壓縮過程的標準輸入而不保留文件到硬盤。 – sled

+0

真棒回答。謝謝。 –