Spring’s multipart (file upload) support

接口:org.springframework.web.multipart.MultipartResolver

实现类:org.springframework.web.multipart.support.StandardServletMultipartResolver  配合  servlet 3

           org.springframework.web.multipart.commons.CommonsMultipartResolver 需要 Commons FileUpload

1、StandardServletMultipartResolver 

 <!-- 支持文件的上传 -->

<bean id="multipartResolver"
class="org.springframework.web.multipart.support.StandardServletMultipartResolver" />

看源码的注释描述如下:

/**
* Standard implementation of the {@link MultipartResolver} interface,
* based on the Servlet 3.0 {@link javax.servlet.http.Part} API.
* To be added as "multipartResolver" bean to a Spring DispatcherServlet context,
* without any extra configuration at the bean level (see below).
*
* <p><b>Note:</b> In order to use Servlet 3.0 based multipart parsing,
* you need to mark the affected servlet with a "multipart-config" section in
* {@code web.xml}, or with a {@link javax.servlet.MultipartConfigElement}
* in programmatic servlet registration, or (in case of a custom servlet class)
* possibly with a {@link javax.servlet.annotation.MultipartConfig} annotation
* on your servlet class. Configuration settings such as maximum sizes or
* storage locations need to be applied at that servlet registration level;
* Servlet 3.0 does not allow for them to be set at the MultipartResolver level.
*
* @author Juergen Hoeller
* @since 3.1
*/

通过在servlet 上配置  multipart-config 实现单个文件大小和总大小限制;

例如在 web.xml 配置如下:

<servlet>
<servlet-name>dispatchServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/config/dispatch-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<!-- 限制上传文件大小,单个 < 2M ;最多支持 10个文件(20M)-->
<multipart-config>
<max-file-size>2097152</max-file-size> <!-- 2*1024*1024 = 2097152 -->
<max-request-size>20971520</max-request-size> <!-- 10*2*1024*1024 = 20971520 -->
<file-size-threshold>0</file-size-threshold> <!--必填-->
</multipart-config>
</servlet>

只有servlet 3 才支持 multipart-config 配置

2、CommonsMultipartResolver

参考 http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-multipart-resolver-commons

 

转载于:https://www.cnblogs.com/hzw-hym/p/6649909.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值