spring MVC 3.1 文件上传

接下来用很短的篇幅介绍下spring mvc 3.1文件上传

其实spring的官方文档关于这块介绍已经说的很清楚了,就不过多啰嗦了,简单的把官方文档复述一遍:

 

spring mvc 将fileupload进行了二次封装,主要为MultipartHttpServletRequestMultipartFile 两个对象,

分别用语多文件和单文件上传.

准备工作:导入fileupload.jar ,commons-io.jar包

 

首先是对springMVC-servlet.xml进行配置,增加对文件上传的支持:

 

 

<!-- 文件上传 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.
CommonsMultipartResolver" p:maxUploadSize="-1"/>

 里面有一些可选属性,例如:maxUploadSize(文件大小限制:byte,-1为不限制大小(默认值))具体就不列出了。

 

1.单文件上传

controller:

 

	@RequestMapping(value="/fileupload",method=RequestMethod.POST)
	public String getFile(@RequestParam("file")MultipartFile file) throws IOException{
		//do upload 
		return "index";
	}

 

       jsp:

 

 

<form action="user/fileupload.action" method="post" enctype="multipart/form-data">

	<input type="file" name="file"><br>
	<input type="submit" value="上传">
 </form>

 OK ,这样单文件就ok 了。接下来就是对获得的文件进行本地保存了,代码很简单,这里就不罗嗦了。

 

 

2.多文件上传:

controller:

 

@RequestMapping(value="/fileupload",method=RequestMethod.POST)
	public String getFile(MultipartHttpServletRequest request) throws IOException{
		Iterator<String> it = request.getFileNames();
		while(it.hasNext()){
			List<MultipartFile> files = request.getFiles(it.next());
			for(MultipartFile file : files){
				//do upload
				//System.out.println(file.getOriginalFilename());
			}
		}
		return "index";
	}

 

 jsp:

 

 

<form action="user/fileupload.action" method="post" enctype="multipart/form-data">
	<input type="file" name="file"><br>
	<input type="file" name="file"><br>
	<input type="submit" value="上传">
 </form>

 

个人建议不管多文件单文件,直接使用多文件上传(MultipartHttpServletRequest 参数),省的烦了。

ok了,上传就那么简单,动手试试吧!

你可能感兴趣的:(文件上传,spring mvc,fileupload)