0

相互にやり取りする 2 つのアプリケーションを構築しています。1 つは、ファイルに対してさまざまなアクションを実行するために使用できるメソッドを備えた、Windows または Unix マシンで実行される Web サービスです。もう 1 つは、ユーザーがサービスと対話するためのインターフェイスを提供する Web サーバーです。要件の 1 つは、100 MB を超えるファイルをアップロードおよびダウンロードできることです (ただし、サイズは問いません)。他のすべてのサービスと同様に、ファイルのバイトをSOAPリクエストに入れることで機能させようとしましたが、大きなファイルでOutOfMemoryエラーが発生し続けます。MTOM を有効にして Axiom と JAXB を使用してバイトをストリーミングしようとしましたが、Spring MTOM サンプル (特にこの部分)、正しく機能させるには、厄介なコードに実際に入る必要があるようです。Spring を使用して 2 つのサーバー間で大きなファイルを送信するための、より明白で簡単な選択肢はありますか?

余談ですが、JAXB で作成されたファイル アップロード リクエスト オブジェクトを、上記の MTOM サンプルのように多くのコードを記述する必要のない場所に送信する簡単な方法はありますか? 次のような簡単なもの:

StoreFileRequest request = new StoreFileRequest();
request.setDestination(destination);
request.setFileData(dataHandler);
getWebServiceTemplate().marshalSendAndReceive(request)

アイデアをありがとう!

4

1 に答える 1

0

apache fileupload を使用し、Spring Web サイトがそれにリンクされている場合でも

<form method="POST" enctype="multipart/form-data" action="fup.cgi">
  File to upload: <input type="file" name="upfile"><br/>
  Notes about the file: <input type="text" name="note"><br/>
  <br/>
  <input type="submit" value="Press"> to upload the file!
</form>

注: 各ブラウザーには独自の最大サイズがあります。以下の最初のリンクをご覧ください。

http://www.motobit.com/help/scptutl/pa98.htm

http://static.springsource.org/spring/docs/3.0.0.M3/reference/html/ch16s08.html

http://commons.apache.org/proper/commons-fileupload/

于 2013-06-10T20:10:53.130 に答える