提示:前台传输一个文件,还要文件其他参数
前后台交互,前台需要传三个参数,一个是文件,另外两个是String类型的参数,需要后台接受与交互。
提示:使用注解解决失败
我一开始使用的是RequestParam进行文件传输,PathVariable进行字符串传输,但是postman测试下来却有报错。找不到String错误,如果用RequestBody也是不行,一样会报错。
Required URI template variable 'xxx' for method parameter type String is not present
@RequestParam("参数名") @PathVariable("参数名") @RequestBody
提示:肯定是参数类型接受和返回的问题。
想了一下,如果后端不好处理,为什么不简单一点,直接去前端传参测试,最后测试一下,果然没问题,话不多说,直接上代码。
后端代码
@PostMapping("/avatar")
public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file,String attType,String filesize) {
return AjaxResult.success(aftfactTimelyOptDocService.avatar(file, attType,filesize));
}
前端代码
let formData = new FormData();
formData.append("avatarfile", data);
formData.append("attType", "1");
formData.append("filesize", "1");