私はかなり大きなファイル(> 50 MBytes)をクライアントからサーバーにアップロードする必要があるStruts 1 Webアプリケーションを持っています。私は現在、組み込みのorg.apache.struts.upload.DiskMultipartRequestHandlerを使用して、HTTP POSTのmultipart/form-dataリクエストを処理しています。正常に動作していますが、非常に遅く、毎秒約100キロバイトでアップロードされます。Struts遅いアップロードをアップロード
同じ大容量のファイルをサーバーからクライアントにダウンロードすると、10倍以上高速になります。単純なFTPクライアントを使用して同じサーバーにファイルを転送すると、時間の1/3以下しかかからないので、これは私のISPのアップロード速度とダウンロード速度の違いにはならないと思います。
組み込みのDiskMultipartRequestHandlerを新しいorg.apache.commons.fileuploadパッケージに置き換えてみましたが、これを変更してStruts 1が必要とするMultipartRequestHandlerを作成する方法がわかりません。
Barendは、web.xmlに設定できる 'bufferSize'パラメータがあることを以下にコメントしました。バッファのサイズを100 KByteに増やしましたが、パフォーマンスは向上しませんでした。 DiskMultipartRequestHandlerの実装を見ると、マルチパート境界文字を探してストリームを1バイトずつ読み込むため、そのパフォーマンスがの場合はに制限されている可能性があります。
大きなファイルをアップロードするのに誰かがStrutsを使用していますか?
誰かがStruts 1で提供されているデフォルトのDiskMultipartRequestHandlerをカスタマイズしましたか?
大容量のファイルをアップロードする際には、もっと忍耐強くする必要がありますか? :-)
これは素晴らしいアイデアです!以前気付かなかったありがとう!残念ながら、私はちょうどそれを試みたが、実際には違いはありませんでした。 –