本文实例为大家分享了spring mvc实现文件上传与下载功能的具体代码,供大家参考,具体内容如下
文件上传
在pom.xml中引入spring mvc以及commons-fileupload的相关jar
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<!-- spring mvc --> < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-webmvc</ artifactId > < version >4.3.13.RELEASE</ version > </ dependency > <!-- 文件上传与下载 --> < dependency > < groupId >commons-fileupload</ groupId > < artifactId >commons-fileupload</ artifactId > < version >1.3.3</ version > </ dependency > |
在springmvc.xml中加入文件上传的相关配置
1
2
3
4
5
6
7
8
9
10
11
|
< bean id = "multipartResolver" class = "org.springframework.web.multipart.commons.CommonsMultipartResolver" > <!-- 上传文件大小上限,单位为字节(10MB) --> < property name = "maxUploadSize" > < value >10485760</ value > </ property > <!-- 请求的编码格式,必须和jSP的pageEncoding属性一致,以便正确读取表单的内容,默认为ISO-8859-1 --> < property name = "defaultEncoding" > < value >UTF-8</ value > </ property > </ bean > |
在jsp文件中加入form表单
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
< form action = "upload" enctype = "multipart/form-data" method = "post" > < table > < tr > < td >文件描述:</ td > < td >< input type = "text" name = "description" ></ td > </ tr > < tr > < td >请选择文件:</ td > < td >< input type = "file" name = "file" ></ td > </ tr > < tr > < td >< input type = "submit" value = "上传" ></ td > </ tr > </ table > </ form > |
添加文件上传的方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
//上传文件会自动绑定到MultipartFile中 @RequestMapping (value= "/upload" ,method=RequestMethod.POST) public String upload(HttpServletRequest request, @RequestParam ( "description" ) String description, @RequestParam ( "file" ) MultipartFile file) throws Exception { //如果文件不为空,写入上传路径 if (!file.isEmpty()) { //上传文件路径 String path = request.getServletContext().getRealPath( "/file/" ); //上传文件名 String filename = file.getOriginalFilename(); File filepath = new File(path,filename); //判断路径是否存在,如果不存在就创建一个 if (!filepath.getParentFile().exists()) { filepath.getParentFile().mkdirs(); } //将上传文件保存到一个目标文件当中 file.transferTo( new File(path + File.separator + filename)); return "success" ; } else { return "error" ; } } |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/xiaoQ0725/p/8080425.html