かなり大きなzipファイルを解凍するために、さまざまなノード解凍モジュール(adm-zip、unzip、extract-zip)を試してきました。これらのモジュールのほぼすべてで、ジッパーが初めて成功したことがわかります。ノードサーバーが継続的に稼働している場合、与えられた.zipファイルを再度解凍する要求があると、上記のすべてのモジュールがいくつかのファイルのみを抽出し、zip内の残りのファイルは失われています。ノードサーバーが強制終了されて再起動されるたびに、最初の解凍は正しく行われ、その後は行われません。この理由は何でしょうか? 抽出されたファイルが処理されると、そのファイルが書き込まれるディレクトリをクリーニングしようとしました。後続の解凍は常に空のディレクトリに移動します。node.js unzipモジュールはほんの少数のファイルを抽出する
0
A
答えて
2
私も同様の問題がありましたが、私の場合、根本的な原因は、抽出が終了する前にプロセスが終了していたことでした。
キーは、の抽出が完了した後でごみのクリーニングにつながるコードを実行することを確認することです。私の場合、私はwindow.location(Electron Framework)を、unzipモジュールのExtract()呼び出しが同期していると誤って仮定していました。
fs.createReadStream(fp).pipe(unzipper.Extract({ "path": dirname })
.on('finish', function() {
//Extraction done, you can do any cleanup or navigation here.
window.location = 'listing.html';
})
.on('error',() => console.log("Error"))
)
あなたのためにおそらく後半が、将来的には私のような誰かにそう便利:ここ
は私のために成功したコードです。
関連する問題
- 1. JSONのほんの少数のフィールドを解析する
- 2. tar.gz全体をスキャンすることなく少数のファイルを抽出する
- 3. MSBuildでUnzipタスクを使用してバイナリを抽出する
- 4. Node.JSクラスのコメントを抽出する
- 5. RegexモジュールPythonのコンテンツを抽出する
- 6. は、ほんの少しのコンテキストのために別のADF
- 7. ポータブル(LinuxとWindowsがほとんど)4bytesの抽出/比較
- 8. 私はU-SQL Azureデータファクトリの.csvファイルからほんの少数のカラムを選択したい
- 9. マスク付きLinux unzipリストで一致するすべてのファイルを抽出できない
- 10. 複数のファイルを抽出するexeファイルを作成する
- 11. node.jsのzipファイルからイメージファイルを抽出し、サーバーにファイルをアップロードします。
- 12. res.jsonはNode.jsモジュールの関数ではありません
- 13. 美味しいスープで少々の値を抽出する
- 14. ほとんど同じ2つのLinqクエリからメソッドを抽出します。
- 15. PowershellのZipファイルとUnzipファイル4
- 16. matlabからファイル名の数字を抽出するには?
- 17. は、Node.jsのHTTPモジュール
- 18. 複数のファイルからパターンの抽出
- 19. のNode.js SWF抽出definebitslossless2誤っ画素
- 20. PHP LDAP、ldap_searchによって返されるユーザーはほんの少しです
- 21. UnZipが最後に連結されたZIPを抽出するのはなぜですか?
- 22. Firebase - 少数のファイルをダウンロードする
- 23. のNode.jsは、Node.jsの文書でrequire.main ===モジュール
- 24. mainの関数をC++のほかのファイルから呼び出す方法は?
- 25. Node.js - ファイルからデータを読み込んで出力を変数
- 26. 抽出ファイル名
- 27. 繰り返し検索してファイルの内容を抽出するPerlモジュール?
- 28. ファイル名を抽出する
- 29. Node.jsのES6モジュール輸出非同期変数
- 30. Zipファイル - ダウンロード - 次にUnzip
コードを表示してください! – dyaa
@dyaaコードを表示しても構いません。前述のように、私たちは、解凍のために第三者ノードのlibsを利用しています。抽出は巨大なアプリケーションの一部として行われるので、このエラーにつながる多くの依存関係があると確信しています。しかし、私はコードを更新します。 – svk
再利用すべきではない変数を再利用しているようです。いずれにしても、[最小限の、完全で検証可能な例](https://stackoverflow.com/help/mcve)を作成してみてください。 – robertklep