一、文件上傳
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";
}
}