您的位置:首页 > 编程语言 > Java开发

在Spring mvc中配置upload,实现文件上传功能的两种方式

2017-03-23 20:18 661 查看
在Spring中如果需要上传功能,需要配置处理上传信息的Resolver。有两种方式时间这个Resovler。

第一种方式是使用CommonsMultipartResovler实现。

第二种方式是使用Spring的StandardServletMulipartResolver实现。

第一种方式的配置方法网上介绍比较多,需要在配置文件applicationContext.xml中增加一个bean来支持上传。

<bean id="multipartResolver" class="org.springframwork.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8" />
<priperty name="maxUploadSize" value="10485760" />

</bean>

这里需要注意的是,这个Bean的id不能是其他的。只能定义成multipartResolver。因为Spring的DispatcherServlet中,将这个id写死了。上传文件的bean只能是这个名字。除非你修改spring的源码。类名是DispatcherServlet。

第二种配置方式需要将StandardServletMultipartResolver声明成一个bean

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

这里关于上传的配置需要在声明DispatcherServlet的时候配置。

在web.xml中配置的时候:

<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<multipart-config>
<location>/temp/app/loads</location>
<!--设置上传路径-->
<max-file-size>2093472</max-file-size>
<!--设置单个上传文件的最大值-->
<max-request-size>4193202</max-request-size>
<!--设置单个request的最大值-->
</multipart-config>

</servlet>

如果是继承了AbstractAnnotationConfigServletDispatcherInitializer配置DispatcherServlet,那么需要实现customizeRegistration(Dynamic registration)。在这个方法中配置MultipartResolver的参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息