Expected MultipartHttpServletRequest: is a MultipartResolver configured?

2022-07-25,

编译环境: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文件。

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

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

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

 

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

《Expected MultipartHttpServletRequest: is a MultipartResolver configured?.doc》

下载本文的Word格式文档,以方便收藏与打印。