RestTemplate 发送文件
2017-03-03 14:43
2096 查看
resttemplate 发送 inputstream流到服务端
客户端
RestTemplate restTemplate = new RestTemplate(); SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory(); requestFactory.setBufferRequestBody(false); restTemplate.setRequestFactory(requestFactory); File file = new File('C:\\Users\\xx.png') InputStream inputStream = new FileInputStream(file) MultiValueMap<String,Object> parts = new LinkedMultiValueMap<>(); try { parts.add("file", new MultipartFileResource(inputStream,"test")); } catch (IOException e) { throw new RuntimeException(e); } HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.MULTIPART_FORM_DATA); HttpEntity<MultiValueMap<String,Object>> request = new HttpEntity<>(parts, headers); def ret =restTemplate.exchange("http://localhost:9303/upload", HttpMethod.POST, request, Void.class);
private class MultipartFileResource extends InputStreamResource { private String filename; public MultipartFileResource(InputStream inputStream, String filename) { super(inputStream); this.filename = filename; } @Override public String getFilename() { return this.filename; } @Override public long contentLength() throws IOException { return -1; // we do not want to generally read the whole stream into memory ... } }
controller
@PostMapping("/upload") public Object upload(HttpServletRequest request, MultipartFile file) { ... }
相关文章推荐
- RestTemplate发送get和post请求,下载文件
- 在spring boot中使用restTemplate上传大文件Java heap space
- RestTemplate 发送Post 多个参数请求
- 使用RestTemplate调用接口上传文件
- java代码利用RestTemplate模拟http发送请求
- java之RestTemplate发送post请求
- springboot如何使用RestTemplate发送http请求
- 使用RestTemplate发送post和delete请求
- Spring RestTemplate get方式发送数据服务器端拿到为空
- 使用RestTemplate上传文件
- http请求使用 RestTemplate 发送 post 请求传递参数
- 使用 RestTemplate 发送 post 请求传递参数
- spring boot RestTemplate 发送 get 请求使用误区
- springmvc RestTemplate文件上传
- 使用RestTemplate发送post请求
- restTemplate上传文件.整个body里面只放文件流
- RestTemplate 发送json格式的http请求
- 使用RestTemplate发送multipart/form-data格式的数据
- REST接口POST方法发送文件到服务器(C#)
- spring boot RestTemplate 发送 get 请求