HTTP 経由で (大きな) ファイルをデータベースにストリーミングしようとしています。Tomcat と Jersey を Webframework として使用しています。ファイルを自分のリソースに POST すると、ファイルは doPOST メソッドで処理される前に、最初にディスク (temp\MIME*.tmp}) にバッファリングされることに気付きました。
これは、ディスク I/O が 2 倍になり、UX がいくぶん悪くなるため、本当に望ましくない動作です。ブラウザーが既にアップロードを完了している場合、ユーザーはアップロードが完了するまで数分 (もちろんファイル サイズによって異なります) 待つ必要があるためです。 HTTP 応答。
大容量ファイルのアップロードの最適な実装ではないことはわかっていますが (再開機能がないため)、要件も同様です。:/
私の質問は、MULTIPART POST の (ディスク) バッファリングを無効にする方法があるかどうかです。メモリ バッファリングは明らかにコストがかかりすぎますが、とにかくディスク バッファリングの必要性が本当にわかりませんか? (説明してください) YouTube のような大規模なサイトは、この状況をどのように処理しますか? または、ファイルが送信された場合、少なくともユーザーにすぐにフィードバックを提供する機会はありますか? (SQLExceptionのようなものがまだある可能性があるので、悪いはずです)