使用Java Spring RestTemplate上传大型二进制文件

时间:2012-12-06 18:48:26

标签: java spring upload binary resttemplate

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

我想使用Spring的RestTemplate()将大型二进制文件上传到servlet。但是,无法将二进制文件完全加载到内存中。

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

如何将此二进制数据流式传输到servlet?优先于Spring或其他Java。

1 个答案:

答案 0 :(得分:12)

找到答案:

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



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

这可以防止将整个请求加载到内存中。