在不想建立臨時文件的狀況下上傳文件;java
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);
參考:spring
https://tamasgyorfi.net/2015/03/27/posting-multipart-requests-with-resttemplate/dom