RestTemplate如何转发MultipartFile呢?

戚薇 Spring 发布时间:2023-06-14 21:10:54 阅读数:12086 1
下文笔者讲述RestTemplate转换MultipartFile文件的方法及示例分享

RestTemplate发送文件的方法

1.定义一个MultiValueMap对象
2.将文件流放入到 MultiValueMap 对象中
3.设置头文件 headsers.setContentType(MediaType.MULTIPART_FORM_DATA)
4.使用 restTemplate.postForObject 发送文件
       即可实现restTemplate发送文件
例:RestTemplate发送MultipartFile示例
 
Result result=new Result(true);
String api = releaseUrl + "/ImportExcelData";//远程接口
ByteArrayResource fileAsResource = new ByteArrayResource(multipartFile.getBytes()) {
	@Override
	public String getFilename() {
		return multipartFile.getOriginalFilename();
	}

	@Override
	public long contentLength() {
		return multipartFile.getSize();
	}
};
MultiValueMap<String, Object> multipartRequest = new LinkedMultiValueMap<>();
multipartRequest.add("files", fileAsResource);//注意此处定义的"files"名称需与接口参数名称一致,否则无法拿到数据
HttpHeaders headers = new HttpHeaders();
headsers.setContentType(MediaType.MULTIPART_FORM_DATA);
HttpEntity<MultiValueMap<String, Object>> files = new HttpEntity(multipartRequest, headers);
result=restTemplate.postForObject(api, files, Result.class);//接口调用


//远程接口 
@PostMapping("/ImportExcelData")
public Result ImportExcelData(@RequestParam list<MultipartFile> files){
	if (files.size()==1) {
		return service.ImportExcelData(files.get(0));
	}else {
		return new Result(false,"请上传单个Excel文件");
	}
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/Spring/202306/6790.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者