7

バイナリ データ [ファイル] を受信できるサーブレットがあります。

Spring の RestTemplate() を使用して、大きなバイナリ ファイルをサーブレットにアップロードしたいと考えています。ただし、バイナリ ファイル全体をメモリにロードすることはできません。

これまでのところ、メソッドがファイル全体をメモリにロードしようとしていたことを示す OutOfMemory エラーが発生しました。

このバイナリ データをサーブレットにストリーミングするにはどうすればよいですか? Spring または Java で推奨されます。

4

1 に答える 1

15

答えを見つけました:

https://jira.springsource.org/browse/SPR-7909



SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
requestFactory.setBufferRequestBody(false);
RestTemplate rest = new RestTemplate(requestFactory);

これにより、リクエスト全体がメモリにロードされなくなります。

于 2012-12-07T06:45:05.717 に答える