在表单处添加属性 enctype=“multipart/form-data”,使数据以二进制传入
<form class="layui-form" action="" onsubmit="return check_form()" enctype="multipart/form-data">
Controller层MultipartFile
专门处理前端传来的文件
1.引入路径
//填加
@RequestMapping("SysUsersInfo_save")
public String SysUsersInfo_save(HttpServletRequest request,SysUsersInfo s,MultipartFile f) {
String id=CreateUUID.getuuid();
s.setId(id);
String path=request.getServletContext().getRealPath("upload");
return "sys_users_info/save";
}
2.指向该文件
File dir=new File(path);
3.如果无文件夹则创建
dir.mkdir();
4.取出流中文件名
String srcName=f.getOriginalFilename();
5.将流中的名在服务器路径中指向
File f2=new File(dir,srcName);
6.上传
f.transferTo(f2);
抛出异常
7.将图片路径保存到数据库
s.setPic(srcName);
7.将jsp的input属性autocomplete="off"删除
8.form以post方式提交
9.将密码改成密文