2019独角兽企业重金招聘Python工程师标准>>>
在不想创建临时文件的情况下上传文件;
MultiValueMap<String, Object> multipartRequest = new LinkedMultiValueMap<>();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
HttpHeaders pictureHeader = new HttpHeaders();
pictureHeader.setContentType(MediaType.parseMediaType(f.getContentType()));
//如果是用spring 的MultipartFile接受,则加入下面这行, 去个随机文件名
pictureHeader.setContentDispositionFormData("file", UUID.randomUUID()+".PNG");
HttpEntity<ByteArrayResource> picturePart = new HttpEntity<>(new
ByteArrayResource(f.getBytes()), pictureHeader);
multipartRequest.add("file", picturePart);
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>
(multipartRequest, headers);
ResponseEntity<String> result = restTemplate.exchange(
uploadUrl, HttpMethod.POST,
requestEntity,
String.class);
参考:
https://tamasgyorfi.net/2015/03/27/posting-multipart-requests-with-resttemplate/