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

本文介绍了在Spring框架中实现文件上传功能的两种配置方法:使用CommonsMultipartResolver和StandardServletMultipartResolver。详细展示了如何通过配置文件applicationContext.xml及web.xml来支持文件上传。
在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的参数。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值