如何解决SpringBoot后端接收MultipartFile参数时出现的空值问题?

2026-05-16 00:411阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计591个文字,预计阅读时间需要3分钟。

如何解决SpringBoot后端接收MultipartFile参数时出现的空值问题?

最近上传了一个小demo,简单的前端HTML页面,后端controller接收,但后端直接报错,文件为null。看了很多文章,有人说Spring Boot自带的org.springframework.web.multipart.MultipartFile可能导致问题。

最近写了一个文件上传的小demo,就是简单的前端html页面,后端controller接收,但是后端一直报错文件为null,看了很多文章,有说spring-boot自带的org.springframework.web.multipart.MultipartFile和Multipart冲突了,要在启动类中加入@EnableAutoConfiguration(exclue={MultipartAutoConfiguration.class}),有说要在MultipartFile参数前加上@RequestParam(“file”)以表明该参数类型是文件类型,还有说是前端表单没有设置enctype=“multipart/form-data”,参照上面方法我还是没有解决问题,后来更换了spring-boot版本就好了,代码如下:

1、pom.xml(注意我这里用的是2.0.4版本)

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="maven.apache.org/POM/4.0.0" xmlns:xsi="www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="maven.apache.org/POM/4.0.0 maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.4.RELEASE</version> </parent> <groupId>org.sang</groupId> <artifactId>chapter01</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

2、upload.html页面

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/upload" method="post" enctype="multipart/form-data"> <input type="file" name="uploadFile" value="请选择文件"> <input type="submit" value="上传"> </form> </body> </html>

3、后端controller

import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import javax.servlet."+req.getServerName()+":"+req.getServerPort()+"/uploadFile/"+format+newName; return path; }catch (IOException e){ e.printStackTrace(); } return "上传失败"; } }

到此这篇关于文件上传SpringBoot后端MultipartFile参数报空问题的解决办法的文章就介绍到这了,更多相关SpringBoot MultipartFile参数报空 内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

如何解决SpringBoot后端接收MultipartFile参数时出现的空值问题?

本文共计591个文字,预计阅读时间需要3分钟。

如何解决SpringBoot后端接收MultipartFile参数时出现的空值问题?

最近上传了一个小demo,简单的前端HTML页面,后端controller接收,但后端直接报错,文件为null。看了很多文章,有人说Spring Boot自带的org.springframework.web.multipart.MultipartFile可能导致问题。

最近写了一个文件上传的小demo,就是简单的前端html页面,后端controller接收,但是后端一直报错文件为null,看了很多文章,有说spring-boot自带的org.springframework.web.multipart.MultipartFile和Multipart冲突了,要在启动类中加入@EnableAutoConfiguration(exclue={MultipartAutoConfiguration.class}),有说要在MultipartFile参数前加上@RequestParam(“file”)以表明该参数类型是文件类型,还有说是前端表单没有设置enctype=“multipart/form-data”,参照上面方法我还是没有解决问题,后来更换了spring-boot版本就好了,代码如下:

1、pom.xml(注意我这里用的是2.0.4版本)

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="maven.apache.org/POM/4.0.0" xmlns:xsi="www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="maven.apache.org/POM/4.0.0 maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.4.RELEASE</version> </parent> <groupId>org.sang</groupId> <artifactId>chapter01</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

2、upload.html页面

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/upload" method="post" enctype="multipart/form-data"> <input type="file" name="uploadFile" value="请选择文件"> <input type="submit" value="上传"> </form> </body> </html>

3、后端controller

import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import javax.servlet."+req.getServerName()+":"+req.getServerPort()+"/uploadFile/"+format+newName; return path; }catch (IOException e){ e.printStackTrace(); } return "上传失败"; } }

到此这篇关于文件上传SpringBoot后端MultipartFile参数报空问题的解决办法的文章就介绍到这了,更多相关SpringBoot MultipartFile参数报空 内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

如何解决SpringBoot后端接收MultipartFile参数时出现的空值问题?