文件上传时MultipartFile
时间: 2023-08-25 16:18:41 浏览: 52
问题: 文件上传时MultipartFile参数无法获取到值,可能出现的原因和解决方法是什么?
回答: 有几种可能导致文件上传时无法获取到MultipartFile参数的值。首先,可能是前后端参数名对应不一致,需要确认参数名是否一致。其次,如果在配置文件中指定了文件上传时的大小值,可能会导致文件上传失败,可以尝试关闭文件上传支持,即将配置spring.servlet.multipart.enabled设置为false。另外,如果切换了内嵌容器从tomcat到undertow,需要检查undertow的配置是否正确。此外,如果指定了临时文件站的路径但路径不存在,也可能导致文件上传失败。还有可能是多次读取HttpServletRequest流导致MultipartFile参数值为空,需要确保只读取一次HttpServletRequest流。如果使用了Spring Boot,已经有CommonsMultipartResolver,可能需要排除原有的Multipart配置,可以使用@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})来排除。最后,如果以上解决方法都无效,可能需要添加以下依赖解决问题:commons-io和commons-fileupload。可以在pom.xml文件中添加如下依赖:
```
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
```<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [解决SpringBoot2.3.3版本文件上传时MultipartFile为空值问题](https://blog.csdn.net/qq_38225558/article/details/108423264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]