zoukankan      html  css  js  c++  java
  • Spring Boot 文件上传

      其实网上已经有很多这样的文章了。为什么我还要记录一下呢?原因是在工作中对接外系统时,碰到了他们调取我们文件上传接口确存在着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怎样上传多文件。如果还有其他更好的方法。欢迎联系博主,进行更新。

    这些观点只代表自己观点,本人写的东西只是自己在工作或者生活中遇到的问题和大家分享一下,方便自己和大家的查阅,目前博客主要更新两大类。在用微服务中遇到的问题,技术的整理和数据库优化方面。以后还会增加其他板块。如有错误的地方请联系博主会及时更正。
  • 相关阅读:
    AppCompatActivity、ActionBarActivity、FragmentActivity和Activity的区别
    Android-Async-Http
    如何在Android studio中同时打开多个工程?
    Multi-threading Android Apps for Multi-core Processors – Part 1 of 2
    Performance Tips
    容器生态系统
    Docker生态不会重蹈Hadoop的覆辙
    Docker生态会重蹈Hadoop的覆辙吗?
    国外牛人的五个Kubernetes学习建议
    Kubernetes基本概念
  • 原文地址:https://www.cnblogs.com/Caucasian/p/8531746.html
Copyright © 2011-2022 走看看