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

相关文章
相关标签/搜索