美文网首页
SpringBoot上传文件,getItemIterator(r

SpringBoot上传文件,getItemIterator(r

作者: Liekkasz | 来源:发表于2020-02-29 14:44 被阅读0次

问题

在SpringBoot的环境下,写上传文件的功能,结果没有获取到文件的问题,跟踪代码后,发现getItemIterator(request)为空。比较典型的表现是使用ueditor时,提示未找到上传数据。

原因

spring-boot自带的org.springframework.web.multipart.MultipartFile和Multipart产生冲突,如果同时使用了MultipartResolver 和ServletFileUpload,就会在iter.hasNext()返回false。

整个问题产生的原因是Spring框架先调用了MultipartResolver 来处理http multi-part的请求。这里http multipart的请求已经消耗掉。后面又交给ServletFileUpload ,那么ServletFileUpload 就获取不到相应的multi-part请求。

因此将multipartResolve配置去除,问题就解决了。

解决

在使用ServletFileUpload时需要关闭Spring Boot的默认配置 ,所以在配置文件中添加

spring:
  servlet:
    multipart:
      enabled: false

相关文章

网友评论

      本文标题:SpringBoot上传文件,getItemIterator(r

      本文链接:https://www.haomeiwen.com/subject/givphhtx.html