我需要使用PUT发送一个PDF附件,就像你在POSTMAN POSTMAN EXAMPLE中附加文档一样。我使用的服务将只接受请求正文中的PDF文件。
下面是我的代码:
// create new file
FileSystemResource file = new FileSystemResource(new File("/Users/name/Documents/test.pdf"));
MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
body.add("file", file);
// adding basic auth
HttpHeaders headers = createHeaders(username, password);
// required custom header
headers.set("X-Async-Scope", timelineEntryId);
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(body, headers);
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response = restTemplate.exchange(baseUrl, HttpMethod.PUT, requestEntity, String.class);
问题是响应带有状态代码415不支持的媒体类型,我不知道为什么。我的HttpEntity主体格式不对吗?
3条答案
按热度按时间kkbh8khc1#
我遇到了另一个解决方案,帮助了我很多!different solution这里是我的最终代码和解决我自己的问题。
w6lpcovy2#
也许,你需要设置标题内容类型?
如果没有帮助,你还应该设置头Content-Disposition:
xtfmy6hx3#
你可以试穿