被调用方:
@PostMapping("/single")
public ResultVO<Map<String, String>> single(@RequestParam("file") MultipartFile file, @RequestParam(required = false) String existPath) {
ResultVO<Map<String, String>> rvo = ResultVO.ok();
try {
Map<String, String> uploadFile = minioFileHelper.uploadFile(file);
rvo.setData(uploadFile);
rvo.setMessage("文件上传成功");
} catch (Exception e) {
rvo = ResultVO.error("文件上传失败,失败原因[" + e.getMessage() + "]");
log.error(e.getMessage(), e);
}
return rvo;
}
调用方:
RestTemplate rest = new RestTemplate();
MultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
//接口参数
FileSystemResource resource = new FileSystemResource(file);
map.add("file", resource);
//头部类型
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
//构造实体对象
HttpEntity<MultiValueMap<String, Object>> param = new HttpEntity<>(map, headers);
//发起请求,服务地址,请求参数,返回消息体的数据类型
JSONObject rst = rest.postForEntity(url, param, JSONObject.class).getBody();
result = rst.toJSONString();