欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Expected MultipartHttpServletRequest: is a MultipartResolver configured?

程序员文章站 2022-03-10 17:07:07
编译环境:IDEA项目类型:Web项目所用框架:Spring+SpringMVC+Hibernate遇到问题:在文件上传时调用controller方法时遇到Expected MultipartHttpServletRequest: is a MultipartResolver configured?这项目是从SVN上拉下来的,项目之前是用Eclipse上传的。起初,以为是我的配置文件没有配置,或者是配置出错了,导致spring没有扫描到配置文件文件,从而引发的问题,之后仔细看过之后再sp...

编译环境:IDEA

项目类型:Web项目

所用框架:Spring+SpringMVC+Hibernate

遇到问题:在文件上传时调用controller方法时遇到Expected MultipartHttpServletRequest: is a MultipartResolver configured?

这项目是从SVN上拉下来的,项目之前是用Eclipse上传的。

起初,以为是我的配置文件没有配置,或者是配置出错了,导致spring没有扫描到配置文件文件,从而引发的问题,之后仔细看过之后再spring-servlet.xml的配置文件中配置了multipartResolver这个bean

<!-- 支持上传文件 设置最大上传文件大小 10M=10*1024*1024(B)=10485760 bytes-->  
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 指定所上传文件的总大小不超过100MB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 --> 
<!-- 默认内存大小为10K,超过10K文件无法正常上传,现设置为16M --> 
    <property name="maxUploadSize" value="100000000"/>
    <property name="maxInMemorySize" value="16000000"/>
    <property name="defaultEncoding" value="UTF-8" />
</bean>

需要导入的jar包commons-fileupload-1.3.1.jar和commons-io-1.3.1.jar都有。所以想不明白为啥会没讲配置文件扫描进去。

之后,想了想。配置文件既然都添加了,还没扫描进去,是不是它的编译文件没有改变。由于这项目本身是用Eclipse上传的,那么可以查看WEB-INF下的是否有classes文件。

Expected MultipartHttpServletRequest: is a MultipartResolver configured?

查看里面的配置文件是否有将bean加载进去,如果没有,删掉classes文件。重新编译就行。

如果没有classes文件,那么Maven项目的话就查看target目录下的classes,或者是查看out目录下的配置文件。同理,如果没有编译进去,删掉重新编译就行。

至此,解决了这个困扰我很久的问题

 

本文地址:https://blog.csdn.net/qq_33957196/article/details/112002361