gpt4 book ai didi

java - 413 请求实体太大 - 使用 Spring Boot 和 Rest 模板

转载 作者:行者123 更新时间:2023-11-30 08:05:52 26 4
gpt4 key购买 nike

使用 Spring Rest 模板上传一个 100 MB 的文件,使用多部分发布请求。

客户端代码:

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);

但是服务器(部署在 Amazon AWS 上的 Springs Boot 应用程序)返回:

org.springframework.web.client.HttpClientErrorException: 413 Request Entity Too Large
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91)
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:614)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:570)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:545)
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:466)

奇怪的是,我可以使用 Angular JS 代码将相同的文件上传到相同的 Spring Boot 应用程序。

尽管在 Angular 代码中我使用:forceChunkSize : true

我可以在 java 中做同样的事情吗?

最佳答案

也许这有帮助:

SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setBufferRequestBody(false);

RestTemplate template = new RestTemplate(factory);

When sending large amounts of data via POST or PUT, it is recommended to change this property to false

关于java - 413 请求实体太大 - 使用 Spring Boot 和 Rest 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34762394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com