问题发现
近期公司一个使用传统SpringMVC的框架需要整合SpringCloud,然而在整合成功之后却发现文件上传请求报400的错误,错误信息为“Required request part 'uploadFile1' is not present”。
但是在请求的Header中可以发现该请求参数确实存在:
问题定位
通过网上资料了解到,SpringBoot引入的依赖中是自带org.springframework.web.multipart.MultipartFile类并通过自动配置注入的,但这个类会和我们在传统SpringMVC的xml文件中配置的org.springframework.web.multipart.commons.CommonsMultipartResolver类的bean冲突,导致无法获取上传的文件而报错。
解决方法
注释掉xml文件中的org.springframework.web.multipart.commons.CommonsMultipartResolver类的bean即可:
<!--
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
</bean>
-->
参考资料:
1、https://blog.csdn.net/a469517790/article/details/80395384
2、https://blog.csdn.net/happy_cheng/article/details/54178392