1、maven工程pom.xml配置如下:
<!-- 文件上传jar -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3</version>
</dependency>
2、applicationContext.xml配置文件里配置如下:
<!-- 支持上传文件 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="1024000"/>
</bean>
3、form表单里配置:enctype="multipart/form-data"
<form id="defaultFormtest" class="form-horizontal" role="form" action='${pageContext.request.contextPath}/employeeInfoController/insertSelective' method="post" enctype="multipart/form-data">
4、springMVC controller层如下:
public String insertSelective(Employees employees,@RequestParam(value = "file", required = false) MultipartFile file,
HttpServletRequest request,HttpServletResponse response) throws Exception{
log.info("前台传输数据:"+JSONObject.toJSONString(employees));
try {
/*response.setContentType("text/html;charset=utf-8");
out = response.getWriter();*/
String path="C:/person/picture";
String fileName = file.getOriginalFilename();
log.info("图片名字:"+JSONObject.toJSONString(fileName));
System.out.println(fileName);
System.out.println(path);
File targetFile = new File(path, fileName);
if(!targetFile.exists()){
targetFile.mkdirs();
}
//保存
try {
file.transferTo(targetFile);
} catch (Exception e) {
e.printStackTrace();
}
/*String url="http://" + request.getServerName() //服务器地址
+ ":"
+ request.getServerPort() //端口号
+ request.getContextPath()+"/upload/"+fileName;
System.out.println(request.getContextPath()+"/upload/"+fileName);
System.out.println(url);*/
String s=path+'/'+fileName;
System.out.println(s);
employees.setYgYgzp(s);
employeeInfoService.insertSelective(employees);
return "employeesInfo/addEmployees";
//out.print("<script language=\"javascript\">window.location.href='http://192.168.1.105:18080/ybzt/views/employeesInfo/addEmployees.jsp'</script>");
//System.out.println("数据:"+ygNm);
//response.reset();
} catch (Exception e) {
throw new Exception(e.getMessage());
}
}