Spring RestTemplate——文件上传

一.上传单个文件

//通过指定header和body来创建HttpEntity
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);


MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
// FileSystemResource有多个构造返方法
body.add("file", new FileSystemResource(filePath));

HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(body, headers);


//调用restTemplate.postForEntity( )完成连接建立并发送文件到服务器
String serverUrl = "http://localhost:8082/springrest/fileserver/singlefileupload/";

RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response = restTemplate.postForEntity(serverUrl, requestEntity, String.class);

二、上传多个文件

MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
body.add("files", new FileSystemResource(filePath1));
body.add("files", new FileSystemResource(filePath2));
body.add("files", new FileSystemResource(filePath3));
     
HttpEntity<MultiValueMap<String, Object>> requestEntity
  = new HttpEntity<>(body, headers);
 
String serverUrl = "http://localhost:8082/springrest/fileserver/multiplefileupload/";
 
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response = restTemplate.postForEntity(serverUrl, requestEntity, String.class);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章