本文实例为大家分享了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