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文件。
查看里面的配置文件是否有将bean加载进去,如果没有,删掉classes文件。重新编译就行。
如果没有classes文件,那么Maven项目的话就查看target目录下的classes,或者是查看out目录下的配置文件。同理,如果没有编译进去,删掉重新编译就行。
至此,解决了这个困扰我很久的问题
本文地址:https://blog.csdn.net/qq_33957196/article/details/112002361