欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring Boot 文件上传

程序员文章站 2022-07-07 12:16:02
其实网上已经有很多这样的文章了。为什么我还要记录一下呢?原因是在工作中对接外系统时,碰到了他们调取我们文件上传接口确存在着http请求头部规范的情况,从而导致用传统方法获取不到参数。今天就来整理下Spring Boot中两种上传文件的方法。 首先我们需要配置一下文件上传的最大值(为*.yml配置文件 ......

  其实网上已经有很多这样的文章了。为什么我还要记录一下呢?原因是在工作中对接外系统时,碰到了他们调取我们文件上传接口确存在着http请求头部规范的情况,从而导致用传统方法获取不到参数。今天就来整理下Spring Boot中两种上传文件的方法。

  首先我们需要配置一下文件上传的最大值(为*.yml配置文件,*.properties文件同理):

1 spring:
2    http:
3      multipart:
4        max-file-size: 50Mb  #限制文件大小
5        max-request-size: 50Mb

  接下来我们看一下第一种上传方式,适用于请求头规范,和单文件上传

1 @RequestMapping(value = "/upload", method = RequestMethod.POST)
2 @ResponseBody
3 public void uploadTest(MultipartFile file) {
4     System.out.println("上传的文件名:"  + file.getOriginalFilename());                  
5 }

  我们在来看一下第二种上传方式,适用于多文件或者第一种获取不到文件的情况:

1 @RequestMapping(value = "/upload/batch", method = RequestMethod.POST)
2 public void String batchUploadTest(HttpServletRequest request) {
3     //获取文件流集合
4     List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
5     for (MultipartFile file : files) {
6         System.out.println("上传的文件名:"  + file.getOriginalFilename());     
7     }
8 }

  经过各种尝试之后终于解决了由于http请求头不规范而得不到文件流的问题,顺便学到了SpringBoot怎样上传多文件。如果还有其他更好的方法。欢迎联系博主,进行更新。