spring中的MultipartResolver

在 Spring 中,MultipartResolver 主要用来处理文件上传,它支持 Commons FileUpload (http://jakarta.apache.org/commons/fileupload) 和 COS FileUpload (http://www.servlets.com/cos)。缺省中Spring是没有multipart处理,因为一些开发者想要自己处理它们。

如果你想使用Spring的multipart,需要在web应用的上下文中添加multipart解析器。这样,每个请求就会被检查是否包含multipart。然而如果请求中包含multipart,你的上下文中定义的MultipartResolver就会解析它。这样你请求中的multipart属性就会象其它属性一样被处理。


主要配置如下:

Java代码
<bean id="multipartResolver"     class="org.springframework.web.multipart.commons.CommonsMultipartResolver">   
  <!-- 该属性用来配置可上传文件的最大  byte  数 -->   
  <property name= "maximumFileSize" ><value> 100000 </value></property> 
</bean>  
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  <!-- 该属性用来配置可上传文件的最大 byte 数 -->
  <property name="maximumFileSize"><value>100000</value></property>
</bean>
该 Bean 还有其它的属性如 defaultEncoding, maxInMemorySize, servletContext, uploadTempDir 一般默认就可以了。
其它的配置和普通的没有什么区别,当然在上传的表单中必须指定其 enctype 为 mulitpart/form-data ,如:
Java代码
<form method="post" action="upload.html" enctype="multipart/form-data">        
  <input type= "file"  name= "paper"  />        
  <input type= "text"  name= "name" />        
  <input type= "submit" />   
</form>  
<form method="post" action="upload.html" enctype="multipart/form-data">
  <input type="file" name="paper" />
  <input type="text" name="name"/>
  <input type="submit"/>
</form>
最后一点就是项目中必须有 commons-io.jar , commons-fileupload.jar 包的支持。

你可能感兴趣的:(spring中的MultipartResolver)