SpringMVC 学习-上传文件分解器 CommonsMultipartResolver 类

Spring 组件 CommonsMultipartResolver 类的主要作用是配置文件上传的一些属性,也可以控制上传文件的大小。

在 springmvc-servlet.xml 配置文件中:

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  <property name="defaultEncoding">
    <!-- 编码方式 -->
    <value>UTF-8</value>
  </property>
  <property name="maxUploadSize">
    <!-- 上传文件的最大值,如限制20M以内:20*1024*1024=52428800 -->
    <value>52428800</value>
  </property>
  <!-- 缓存大小 -->
  <property name="maxInMemorySize">
    <value>4096</value>
  </property>
</bean>

一般 bean 的 id 仅作为一个唯一的标识,但是在这里你必须保证 id 是 multipartResolver,其他的还有 localeResolver、themeResolver 等。

为什么要固定 id 呢?

原因是在 SpringMVC 的核心类 DispatcherServlet 中,把这些 bean 的 id 固定了。代码如下:

public class DispatcherServlet extends FrameworkServlet {
public static final String MULTIPART_RESOLVER_BEAN_NAME = "multipartResolver";
public static final String LOCALE_RESOLVER_BEAN_NAME = "localeResolver";
public static final String THEME_RESOLVER_BEAN_NAME = "themeResolver";

以后如遇到配置正常但却无法工作的,可以去 DispatcherServlet 中看看是不是 id 被固定了。

上一篇:I深搜


下一篇:【Android Developers Training】 29. 从Activity获得结果