Java 413请求实体太大-使用Spring引导和Rest模板
使用SpringREST模板上传一个100MB的文件,使用一个多部分post请求 客户端代码:Java 413请求实体太大-使用Spring引导和Rest模板,java,angularjs,spring,amazon-web-services,resttemplate,Java,Angularjs,Spring,Amazon Web Services,Resttemplate,使用SpringREST模板上传一个100MB的文件,使用一个多部分post请求 客户端代码: HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.MULTIPART_FORM_DATA); MultiValueMap<String, Object> map = new LinkedMultiValueMap<String, Object>(); ma
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
MultiValueMap<String, Object> map = new LinkedMultiValueMap<String, Object>();
map.add("name", chunk.getFilename());
map.add("filename", chunk.getFilename());
map.add("flowChunkNumber", chunk.getNumber());
map.add("flowChunkSize", chunkSize);
map.add("flowIdentifier", chunk.getIdentifier());
map.add("flowTotalSize", chunk.getTotalSize());
map.add("flowCurrentChunkSize", chunk.getSize());
map.add("file", chunk.getResource() );
HttpEntity<MultiValueMap<String, Object>> entity = new HttpEntity<MultiValueMap<String, Object>>(map, headers);
ResponseEntity<String> response = executeForResponse(
baseUri().path("/api/v1/uploads/chunks")
.build().toUri(), HttpMethod.POST, entity, String.class);
奇怪的是,我可以使用angular JS代码将同一个文件上传到同一个Spring Boot应用程序
虽然在angular代码中我使用:forceChunkSize:true
我可以在java中执行同样的操作吗?也许这有助于:
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setBufferRequestBody(false);
RestTemplate template = new RestTemplate(factory);
通过POST或PUT发送大量数据时,建议将此属性更改为false
将此内容添加到应用程序的配置类中
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setMaxFileSize("200MB");
factory.setMaxRequestSize("200MB");
return factory.createMultipartConfig();
}
不,这没用,对我没用。
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setMaxFileSize("200MB");
factory.setMaxRequestSize("200MB");
return factory.createMultipartConfig();
}