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); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。