spring restTemplate 上傳數據流/字節數組

在不想建立臨時文件的狀況下上傳文件;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

相關文章
相關標籤/搜索