postman里面的格式如下
接下来,便将上面的内容转换为代码
首先,我们只能将File转为改格式才能进行网络传输,转换方式请看这篇博客:https://blog.csdn.net/yyuggjggg/article/details/127454421
不看上面那篇博客也可以,网上搜索,有很多方法
//FileToMultipartFile:这个是我自己写的File转为MultipartFile格式的方法
MultipartFile file = ParserUtils.FileToMultipartFile(fileStr);
MultiValueMap form = new LinkedMultiValueMap<>();
form.add("file", file.getResource());
form.add("name", "ceshi");
form.add("to", "you");
public void doPost(String url, MultiValueMap form) throws Exception {//设置请求头HttpHeaders headers = new HttpHeaders();MediaType type = MediaType.parseMediaType("multipart/form-data");//设置传输方式为multipart/form-dataheaders.setContentType(type);org.springframework.http.HttpEntity> httpEntity = new org.springframework.http.HttpEntity<>(form, headers);RestTemplate restTemplate = new RestTemplate();//用HttpEntity封装整个请求报文restTemplate.postForObject(url, httpEntity, String.class);
}
如此,便可以实现from-data格式的数据进行传输了
@PostMapping("/test1")
public void test1(HttpServletRequest request) throws Exception{//取出form-data中name的值String a=request.getParameter("name");//取出form-data中to的值String b=request.getParameter("to");
}
这个可以是图片,也可以是文件等
@PostMapping("/test2")
public void test2(HttpServletRequest request) throws Exception{//取出form-data中的二进制字段MultipartHttpServletRequest multipartRequest=(MultipartHttpServletRequest) request;//file是form-data中二进制字段对应的nameMultipartFile accessory = multipartRequest.getFile("file");