我有一个能够接收二进制数据[文件]的servlet。
我想使用Spring的RestTemplate()将大型二进制文件上传到servlet。但是,无法将二进制文件完全加载到内存中。
到目前为止,我的尝试导致OutOfMemory错误,表明方法一直在尝试将整个文件加载到内存中。
如何将此二进制数据流式传输到servlet?优先于Spring或其他Java。
答案 0 :(得分:12)
找到答案:
https://jira.springsource.org/browse/SPR-7909
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
requestFactory.setBufferRequestBody(false);
RestTemplate rest = new RestTemplate(requestFactory);
这可以防止将整个请求加载到内存中。