RestTemplate如何实现文件上传呢?
下文笔者讲述RestTemplate实现文件上传的方法及示例分享,如下所示
RestTemplate文件上传的实现思路
1.定义一个MultiValueMap对象 2.将文件封装为FileSystemResource对象,然后放入到map对象中 3.使用restTemplate.postForObject发送文件对象,即可实现文件上传例:RestTemplate文件上传的示例
@SpringBootTest
class UpDownLoadTests {
@Resource
private RestTemplate restTemplate;
@Test
void testUpload() {
// 文件上传服务上传接口
String url = "http://localhost:8888/upload";
// 待上传的文件(存在客户端本地磁盘)
String filePath = "D:\\data\\local\\test.png";
// 封装请求参数
FileSystemResource resource = new FileSystemResource(new File(filePath));
MultiValueMap<String, Object> param = new LinkedMultiValueMap<>();
param.add("uploadFile", resource); //服务端MultipartFile uploadFile
//param.add("param1", "test"); //服务端如果接受额外参数,可以传递
// 发送请求并输出结果
System.out.println("--- 开始上传文件 ---");
String result = restTemplate.postForObject(url, param, String.class);
System.out.println("--- 访问地址:" + result);
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


