1.引入jar包:
下载地址:http://mvnrepository.com/
2.配置springmvc的xml
<!-- 支持上传文件 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver" >
<!-- 100M -->
<property name="maxUploadSize" value="104857600"></property>
<property name="defaultEncoding" value="utf-8"></property>
</bean>
3.上传页面:
<body>
<!-- method必须为post enctype="multipart/form-data"支持文件上传-->
<form action="test/add2.action" method="post" name="myform"
enctype="multipart/form-data">
姓名:<input type="text" name="username"><br>
密码:<input type="text" name="password"><br>
<!-- name="myFile" 和controller里name一致 -->
头像:<input type="file" name="myFile"><br>
<input type="submit" value="注册">
</form>
</body>
name="myFile"><br>
<input type="submit" value="注册">
</form>
</body>
4.上传代码:
/**
* MultipartFile myFile,这个name和前台控件name一致
*/
@RequestMapping("/add2")
public String add2(Model model,UserInfo user,MultipartFile myFile,
HttpServletRequest request,HttpServletResponse response) throws IllegalStateException,
IOException, ServletException {
//如果不为空
if(!myFile.isEmpty()) {
//获取原名称
String lastName = myFile.getOriginalFilename();
//转码为新名称
String targetName = UUID.randomUUID().toString().substring(0, 7)+lastName.substring(lastName.lastIndexOf("."));
//获取服务器路径
String webDir = request.getSession().getServletContext().getRealPath("/upload");
//String computerDir="f://image";本地路径
//new File(computerDir).mkdir();创建文件夹
//根据这个路径和名字创建的file对象
File targetFile = new File(webDir,targetName);
//上传
myFile.transferTo(targetFile);
user.setPic("upload/"+targetName);
}
int count = userService.add2(user);
if(count>0) {
model.addAttribute("user", user);
return "ulist3";
}else {
//跳转其他页面
}
}
}
,MultipartFile myFile,
HttpServletRequest request,HttpServletResponse response) throws IllegalStateException,
IOException, ServletException {
//如果不为空
if(!myFile.isEmpty()) {
//获取原名称
String lastName = myFile.getOriginalFilename();
//转码为新名称
String targetName = UUID.randomUUID().toString().substring(0, 7)+lastName.substring(lastName.lastIndexOf("."));
//获取服务器路径
String webDir = request.getSession().getServletContext().getRealPath("/upload");
//String computerDir="f://image";本地路径
//new File(computerDir).mkdir();创建文件夹
//根据这个路径和名字创建的file对象
File targetFile = new File(webDir,targetName);
//上传
myFile.transferTo(targetFile);
user.setPic("upload/"+targetName);
}
int count = userService.add2(user);
if(count>0) {
model.addAttribute("user", user);
return "ulist3";
}else {
//跳转其他页面
}
}
}
5.显示图片:
<body>
姓名:<input type="text" name="username" value="${user.username}"><br>
密码:<input type="text" name="password" value="${user.password}"><br>
头像:<img alt="" src="${user.pic}" style="width: 50px;height: 50px"><br>
</body>
效果图: