在表单中添加 :enctype=“multipart/form-data”
@RequestParam配置文件域,required = false代表非必填
表单中除文件域外所有表单项和对象的属性一致,文件域名称和对象属性相同会出现400错误
例子:
@PostMapping("add")
public String petList(TbPet tbPet,@RequestParam(value = "pic",required = false)MultipartFile file) throws IOException {
boolean flag = petService.selectNum(tbPet.getPetNumber());
if (flag && file != null){
String filename = file.getOriginalFilename();
//创建File对象,对象存在内存中,这时文件还未创建,但是可以调用
File newFile = new File("图片要保存的全路径"+filename);
//上传
file.transferTo(newFile);
tbPet.setPetImg("/img/"+filename);
petService.addPet(tbPet);
}
return "redirect:list";
}
value = “pic” 其中pic 是 上传控件的name