在form表单上注意enctype=”multipart/form-data”属性
和上传字段的name属性要起相同的名字,如:在学生表中的头像和附件两个字段上添加图片,那么在两个input
中name的名字一样,可以都叫file,
页面上的内容:
<input type="file" name="file" id="file" onchange='PreviewImage(this)'/>上传照片</a>
<input type="file" name="file" id="file" onchange='PreviewImage(this)'/>上传照片</a>
@RequestMapping(value="/addMechanics",method=RequestMethod.POST)
public ModelAndView addMechanics(@RequestParam(value = "file", required = false) MultipartFile[] files,
HttpServletRequest request) throws Exception{
ModelAndView mv=new ModelAndView();
PageData pd=this.getPageData();
String equ_num=request.getParameter("equ_num");
String equ_name=request.getParameter("equ_name");
pd.put("equ_num", equ_num);
pd.put("equ_name", equ_name);
//图片上传路径
String Imgpath = "";//自定义图片的访问路径(要写上,不能为空)
String filepath = "";//自定义文件的保存路径(要写上,不能为空)
int filenumber = 1;
for(MultipartFile file : files){
String fileName="";
String originalFilename = file.getOriginalFilename();
if(!file.isEmpty()){
UUID uuid = UUID.randomUUID();
fileName=uuid+originalFilename;//格式化上传图片的名字
file.transferTo(new File(filepath,fileName));
fileName = Imgpath + '/' + fileName;
}
//能够实现该功能的关键点
if(filenumber==1){
pd.put("equ_photo", fileName);
}
if(filenumber==2){
//1是头像照片,2是附件照片
pd.put("maintain_file",fileName);
}
filenumber++;
}
this.sysMechanicsService.addMechanics(pd);
mv.addObject("pd", pd);
mv.setViewName("save_result");
return mv;
}