大きなzipファイルを(圧縮せずにファイルを保存するだけで)オンザフライで生成し、restify
経由でストリーミングしようとしています。 zipファイルは合計で4 GiBを超えることがあり、MacOSで正しくサポートされていないと思われるZIP64形式のファイルを発行しました。MacOSアーカイブユーティリティで開くことができる4 GiBより大きいzipアーカイブを作成する
node-archiver
とyazl
を使ってみましたが、両方ともzipファイルを生成できますが、MacOSのネイティブグラフィカルユーティリティ(Finderでファイルをダブルクリックするなど)で開くことができません。これに関する最も奇妙なことは、ネイティブのunzip
コマンドラインユーティリティがここでうまくいきます。グラフィカルアーカイブユーティリティだけが動作していないことです。
また、単純なJava実装を使用してzipを作成しようとしましたが、グラフィカルアーカイブユーティリティでも結果ファイルが正常に機能するため、問題はおそらくnode-archiver
/yazl
ライブラリの実装にあります。また、コマンドライン(zip file.zip -0 ...files
)でジップを作成しようとしましたが、アーカイブユーティリティを使用して開くこともできます。
この状況を処理する正しい方法は何ですか? Archive Utilityで開くことができるZIP64形式を生成できる他のノードライブラリはありますか?
zipファイルをディスクにストリーミングする必要はありません。私は最新バージョンのMacOS sierra(10.12.5 beta)とノード6.9.1を実行しています。