Spring 6.0.4升级后CommonsMultipartFile找不到问题求助
问题解答:Spring 6.0.4中CommonsMultipartFile的替代方案
CommonsMultipartFile类在Spring 6.x版本中已被完全移除,原因是Spring从5.x版本开始就逐步弃用了基于commons-fileupload的文件上传实现,转而全面采用Servlet 3.0+原生的文件上传支持,到Spring 6时彻底删除了相关代码和依赖支持。
解决步骤:
- 替换代码中对
CommonsMultipartFile的直接引用,改为使用org.springframework.web.multipart.MultipartFile接口。Spring 6会自动适配Servlet原生的StandardMultipartFile实现,接口方法与原CommonsMultipartFile兼容,无需修改核心业务逻辑。 - 移除项目中引入的
commons-fileupload依赖,Spring 6不再需要该依赖,原生Servlet上传机制已能满足文件上传需求。 - 确保项目依赖的Servlet API版本符合Spring 6要求(需为Jakarta Servlet 5.0+,对应Jakarta EE 9及以上),因为Spring 6已从
javax.servlet包路径切换到jakarta.servlet。
特殊场景调整:
如果之前代码中调用了CommonsMultipartFile特有的方法(比如直接操作内部的FileItem对象),需要调整为使用MultipartFile接口提供的标准方法,例如:
- 用
getInputStream()替代直接读取FileItem的输入流 - 用
transferTo(File dest)替代FileItem的写入方法
内容的提问来源于stack exchange,提问作者JavaSheriff
相关产品推荐
相关产品推荐

