記錄問題:springboot項目里用MultipartFile獲取前端傳的file為null問題


看了很多博客,原因好像是springboot自帶的org.springframework.web.multipart.MultipartFile和Multipart沖突。

記錄一種親測有效的解決方法,@EnableAutoConfiguration排除沖突的依賴

@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})

補充:

后面仔細查看了代碼發現是由於舊項目代碼遷移到springboot框架出現的沖突問題。

import org.springframework.web.multipart.commons.CommonsMultipartResolver;//這是舊項目引入的
import org.springframework.web.multipart.MultipartFile;//這是springboot整合的

這兩者的區別在於后台獲取前端文件的方式不同:

MultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext());
MultipartHttpServletRequest multipartRequest = resolver.resolveMultipart(request);
MultipartFile file = multipartRequest.getFile("upfile");

以及

MultipartFile file = ((MultipartRequest) request).getFile("upfile");
顯然springboot自帶的Mutipartfile簡單一點,所以將前面排除依賴的注解去掉,完全使用springboot自帶的Mutipartfile就行。



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com