使用Hutoo库HttpRequest工具类调用MultipartFile参数接口
介绍: A项目调用B项目接口并提供与B相同接口
@PostMapping
@ApiOperation("add")
public AjaxResult add(@RequestParam(value = "file") MultipartFile file, RemoteSense remoteSense) throws IOException {
if (file == null || file.isEmpty()) {
return AjaxResult.error("文件不能为空");
}
// 将 RemoteSense 对象转换为 Map 以便传递参数
Map<String, Object> remoteSenseParams = BeanUtil.beanToMap(remoteSense, false, true);
// 将 InputStream 封装为 Hutool 的 Resource
Resource fileResource = new InputStreamResource(file.getInputStream(), file.getOriginalFilename());
// 使用 Hutool 的 form 方法传递 Resource
HttpResponse response = HttpRequest.post(REMOTE_SENSE_BASE_URL)
.form("file", fileResource) // 直接传递 InputStreamResource 代替 File
.form(remoteSenseParams) // 添加其他参数
.execute();
return JSON.parseObject(response.body(), AjaxResult.class);
}