springmvc支持多文件上传
来源:互联网 发布:ifashion淘宝怎么进 编辑:程序博客网 时间:2024/05/21 10:34
这里我就不多讲springmvc是如何配置实现如何上传的了,需要的读者可以查看一下如下博客:
http://exceptioneye.iteye.com/blog/1314958
我主要是分析一下我遇到的一个问题:
报错: org.springframework.web.multipart.MultipartException: The current request is not a multipart request
在springmvc在请求到达的时候DispatcherServlet这个类来进行处理,
在doDispatch这个中有一个专门检测是否为multipartRequest
processedRequest = checkMultipart(request);multipartRequestParsed = (processedRequest != request);
在进入checkMultipart(HttpServletRequest request)中
protected HttpServletRequest checkMultipart(HttpServletRequest request) throws MultipartException { if (this.multipartResolver != null && this.multipartResolver.isMultipart(request)) { if (WebUtils.getNativeRequest(request, MultipartHttpServletRequest.class) != null) { logger.debug("Request is already a MultipartHttpServletRequest - if not in a forward, " + "this typically results from an additional MultipartFilter in web.xml"); } else if (request.getAttribute(WebUtils.ERROR_EXCEPTION_ATTRIBUTE) instanceof MultipartException) { logger.debug("Multipart resolution failed for current request before - " + "skipping re-resolution for undisturbed error rendering"); } else { return this.multipartResolver.resolveMultipart(request); } } // If not returned before: return original request. return request; }
方法中会首先检测你是否配置了MultipartResolver,然而debug发现multipartResolver==null,直接就返回了request,就判断了该请求并非
multipartRequest请求,multipartRequestParsed任为false
为什么multipartResolver==null,在dispatcher-servlet.xml里面配置
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="1000000000"/> </bean>
然而通过debug初始化multipartResolver中发现,这个bean并没有注入到spring中,然后将这个bean放入在applicationContext.xml就成功注入了(暂时没有找到为什么dispatcher-servlet.xml中为什么注入不了,以前是可以的,以后找到了原因在进行分享吧,也希望读者提供帮助)
private void initMultipartResolver(ApplicationContext context) { try { this.multipartResolver = context.getBean(MULTIPART_RESOLVER_BEAN_NAME, MultipartResolver.class); if (logger.isDebugEnabled()) { logger.debug("Using MultipartResolver [" + this.multipartResolver + "]"); } } catch (NoSuchBeanDefinitionException ex) { // Default is no multipart resolver. this.multipartResolver = null; if (logger.isDebugEnabled()) { logger.debug("Unable to locate MultipartResolver with name '" + MULTIPART_RESOLVER_BEAN_NAME + "': no multipart request handling provided"); } } }
- springmvc支持多文件上传
- IE8 springmvc支持文件上传
- SpringMVC多文件上传
- springmvc 多文件上传
- springmvc多文件上传
- springmvc多文件上传
- SpringMVC多文件上传
- springMVC 多文件上传
- springmvc多文件上传
- springMVC 多文件上传
- springMVC 多文件上传
- SpringMVC文件上传 多文件
- SpringMVC文件上传 多文件
- SpringMVC文件上传 多文件上传实例
- SpringMVC文件上传 多文件上传实例
- SpringMVC—多文件上传
- SpringMVC多文件上传实例
- springmvc实现多文件上传
- Centos6.5 下Openldap管理各系统账号
- JSP_8th_useBean的scope属性
- C++小结(二)
- mxnet系列之-mshadow
- 关于边框在选中的时候与其他父类不一样,即没有下边框的问题
- springmvc支持多文件上传
- nginx下开启https
- 克隆centos6和centos7-(vmware)
- Doubango RTP包传输使用UDT可靠传输协议,解决RTP丢包问题
- android http连接
- Java中使用mongodb实现增删改查
- Android--利用相机或相册截取用户头像(解决了miui无法截取,以及部分机型拍照无返回Uri)【下】
- Android Studio配置正式签名和debug签名
- 通过sysfs 读写pci的配置空间和rom空间