一、文件上传
1、在springmvc.xml中配置----Mutilpart解析器
<!-- Mutilpart解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean>
2、在jsp文件中编写
enctype="multipart/form-data"的作用:声明表单中数据包含二进制文件名
注意:千万不要忘记设置它
<body>
<form action="login" method="post" enctype="multipart/form-data">
用户名:<input type="text" name="username"/><span></span><br/>
密码:<input type="password" name="password"/><span></span><br/>
确认密码:<input type="password" name="passwordSure"/><span></span><br/>
图片:<input type="file" name="file"/><br/>
<input type="submit" value="注册"/>
</form>
</body>
3、导入jar包
3、编写服务
4、编写控制器
@RequestMapping("login")
public String register(Users users,MultipartFile file,HttpServletRequest req){
//UUID.randomUUID()返回类型是UUID型
//得到要输入数据库的文件名(UUID.后缀名)
String fileName = UUID.randomUUID().toString()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
//设置文件要上传的位置
String path = req.getServletContext().getRealPath("images")+"/"+fileName;
try {
//文件上传
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(path));
} catch (IOException e) {
e.printStackTrace();
}
//只是将文件名传入到数据库中去
users.setPhoto(fileName);
int index = usersServiceImpl.insRegister(users);
if(index>0){
req.getSession().setAttribute("user", users);
return "redirect:/show";
}else{
return "redirect:/register.jsp";
}
}