1.文件上传关键代码:
DiskFileItemFactory fac = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(fac);
upload.setHeaderEncoding("utf-8");
@SuppressWarnings("rawtypes")
List fileList = null;
try {
fileList = upload.parseRequest(request);
} catch (FileUploadException ex) {
ex.printStackTrace() ;
}
这里的request对象是初始时HttpServletRequest的对象。刚开始认为fileList对象不会为空,但是却空。主要原因在于我配置的spring MVC的文件解析器如下:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10485760" />
</bean>
关键之处在于CommonsMultipartResolver中的方法parseRequest已经解析过request对象了。方法如下:
2.问题解决:
(1).可以把上面的spring MVC文件解析器注释掉,解析就不为空了。个人建议不要这样做,因为注释之后图片就不能上传了。
(2).配置自定义的文件解析器就可以了。我是这样配置的如下:
<bean id="multipartResolver" class="sh.xz.dbutil.MyMultipartResolver">
<property name="excludeUrls">
<list>
<value>/company/add</value>
</list>
</property>
<property name="maxUploadSize" value="10485760" />
</bean>
value路径是需要文件的controler路径。
public class MyMultipartResolver extends CommonsMultipartResolver{
private List<String> excludeUrls;
public void setExcludeUrls(List<String> excludeUrls) {
this.excludeUrls = excludeUrls;
}
public List<String> getExcludeUrls() {
return excludeUrls;
}
@Override
public boolean isMultipart(HttpServletRequest request) {
for (String url: excludeUrls) {
if (request.getRequestURI().contains(url)) {
return super.isMultipart(request);
}
}
return false;
}
}
这样既可以上传的文件可以得到你想要的值,也可以上传图片。
- 大小: 123.6 KB
分享到:
相关推荐
这是一个springmvc-config.xml文件,<?xml version="1.0" encoding="UTF-8"?> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:...
springmvc深入解析.pdf
07SpringMVC视图解析.md
1、手写springmvc框架及分析springmvc源码.zip1、手写springmvc框架及分析springmvc源码.zip1、手写springmvc框架及分析springmvc源码.zip1、手写springmvc框架及分析springmvc源码.zip1、手写springmvc框架及分析...
SpringMVC框架原理.mp4
SpringMVC学习笔记.md
PDF,源代码 开涛学SpringMVC 第一章源代码下载 第二章 Spring MVC入门 源代码下载 第四章 Controller接口控制器详解 源代码下载 第五章 处理器拦截器详解——跟着...第七章 注解式控制器的数据验证、类型转换及格式化
springmvc基础 包含代码+知识点+详细解释 1. 什么是springmvc? 2. springmvc框架原理 前端控制器、处理器映射器、处理器适配器、视图解析器 3. springmvc入门程序 目的:对前端控制器、处理器映射器、处理器...
SpringMVC_4.rar.rar
springmvc: springmvc学习笔记-springmvc整合mybatis.zip
开源框架面试题系列:Spring+SpringMVC+MyBatis.zip
springmvc: springmvc学习笔记--springmvc注解开发.zip
18、SpringMvc 中有个类把视图和数据都合并的一起的,叫什么? 19、怎么样把 ModelMap 里面的数据放入 Session 里面? 20、SpringMvc 怎么和 AJAX 相互调用的? 21、当一个方法向 AJAX 返回特殊对象,譬如 Object,List...
SpringMVC系列一.avi
SpringMVC系列二.avi
SpringMVC框架开发.mp4
springMVC-ppt.rar
SpringMvc个人笔记.txt
springmvc学习笔记.zip
Springmvc入门案例.wmv