2

GridFS ドキュメント ストアにいくつかのファイルがあり、NodeJS の stdin を介してこのデータを zip ファイルにパイプ処理したいと考えています。そのため、これらすべてのファイルを含む zip ファイルになります。

ここで私の質問は、zip ファイル内でファイルに有効なファイル名を与えるにはどうすればよいかということです。ファイル名を含むファイルヘッダーをエミュレート/偽造する必要があると思いますか?

どんな助けでも大歓迎です!

ありがとう

4

1 に答える 1

4

少し前に Node.js で zip ファイルを作成するときに問題が発生しました。node.jsのZipアーカイブで説明されているものと同様のことをすることになりました

あなたの問題について直接お手伝いすることはできませんが、少なくともいくつかの点を指摘できれば幸いです。

  • node-archive を使用しないでください。zipファイルを作成できると説明されていても、ソースコードを読んだ瞬間(ドキュメントが存在しないため)、それは嘘であることに気付きました。読み取り用のメソッドのみを公開します。
  • 提供されたリンクで推奨されているように、プロセスを生成して zip を使用するのが最善の方法のようです。機能するのは、ファイルを任意の名前でローカルフォルダーにコピーし、zip コマンドを呼び出して、後でファイルを削除することです。
  • 大丈夫だと思われるもう1つのオプションは、zipperを使用することです(https://github.com/rubenv/zipper、npmを使用する方が良いですが)。私があまり使いたくない理由は、柔軟性があまりないためです.1日で完了したようで、最初のコミットから変更されていないため、メンテナンスを受けるかどうかはわかりません. (確かに、あなたはそれをフォークすることができます...)。

仕事のない自由な週末を過ごす日には、これを可能な限り完全に行うおかしなモジュールを書くことを誓います。ないのはばかげているし、それほど苦労するべきではない. ブラブラブララント。

編集: 以前にあったかどうかはわかりませんが、今はnode-compressモジュールを使用しています(gzippoも使用しています)。それは正常に動作します。

于 2011-10-10T08:41:55.530 に答える