今天在测试文件上传工具类时服务器不停地报此异常
org.apache.catalina.connector.RequestFacade cannot be cast to org.springframework.web.multipart.MultipartHttpServletRequest
更换了各种上传方式都无效,最后发现是服务器spring配置有问题。
解决方案:
服务器spring-context.xml文件中添加下列代码
<!-- 上传文件时需要用到的分解器,默认将编码转为utf-8 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="UTF-8"/> <!-- maxUploadSize设置-1 不限制文件大小 --> <property name="maxUploadSize" value="-1"/> </bean> <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">error</prop> </props> </property> </bean> 以上配置依赖jar包commons-fileupload.jar
commons-io.jar
如果已存在配置请检查form表单是否设置enctype="multipart/form-data"属性
或者检查代码是否设置multipart
