7

我有一个能够接收二进制数据 [文件] 的 servlet。

我想使用 Spring 的 RestTemplate() 将一个大的二进制文件上传到 servlet。但是,不可能将二进制文件完全加载到内存中。

到目前为止,我的尝试导致 OutOfMemory 错误,表明这些方法一直在尝试将整个文件加载到内存中。

如何将此二进制数据流式传输到 servlet?在 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 回答