在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的参数。
第一种方式是使用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的参数。
相关文章推荐
- Spring MVC使用commons fileupload实现文件上传功能
- ueditor 编辑器的配置 实现了上传图片与文件功能---附效果图
- Android 实现文件上传功能(upload)
- springMVC两种方式实现多文件上传及效率比较
- WebWork之--使用fileUpload interceptor实现文件上传[基本配置+注意事项]
- 配置php.ini实现PHP文件上传功能
- springMVC两种方式实现多文件上传及效率比较
- 今天使用jspsmartupload.jar实现上传文件的功能,发现中文乱码,于是总结了下解决方法
- Linux系统服务 6 ---- vsftpd服务的配置文件实现匿名登录上传下载和删除功能
- jsp中如何利用jspsmartupload实现文件上传下载功能
- Android 实现文件上传功能(upload)
- spring mvc 配置文件写好后写上传功能
- Spring MVC中 ajaxfileupload实现ajax上传文件
- ueditor 编辑器的配置 实现了上传图片与文件功能---附效果图
- jQuery插件AjaxFileUpload文件上传实现Javascript多文件上传功能
- WEB-Android两种方式实现文件上传
- commons-upload 实现文件的上传功能
- ajaxfileupload 隐藏input file组件上传文件的两种实现
- jQuery插件AjaxFileUpload文件上传实现Javascript多文件上传功能
- jquery 实现ajax 上传文件的功能(使用插件 ajaxfileupload)