zoukankan      html  css  js  c++  java
  • 实现springboot多文件上传的最佳方案

    一说明

    spingMVC支持文件上传,我们通过Apach 的 commons-fileupload 包的CommonsMultipartResolver 去实现了 spingMVC的MultipartResolver 。 本文章的示例是个简单的多文件上传,根据不同的业务自行修改。

    二pom.xml

    <dependencies>
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.3.3</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>

    三 application.yml

    spring:
      servlet:
        multipart:
          max-file-size: 200MB #单个文件上传大小
          max-request-size: 600MB #连续上传文件大小
    
    
    youku1327:
     file:
      root:
        path: "C:\mydata\generator\version06\" #存储路径

    四controller

    /**
     * @Author lsc
     * @Description <p> </p>
     * @Date 2019/10/2 20:58
     * @Version 1.0
     */
    @RestController
    public class FileUploadController {
    
        @Value("${youku1327.file.root.path}")
        private String fileRootPath;
    
        @PostMapping("/file/upload")
        public String fileUpload(@RequestParam("files")MultipartFile[] files){
            String filePath = "";
            // 多文件上传
            for (MultipartFile file : files){
                // 上传简单文件名
                String originalFilename = file.getOriginalFilename();
                // 存储路径
                 filePath = new StringBuilder(fileRootPath)
                        .append(System.currentTimeMillis())
                        .append(originalFilename)
                        .toString();
                try {
                    // 保存文件
                    file.transferTo(new File(filePath));
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return filePath;
        }
    }

    五启动类

    /**
     * @Author lsc
     * @Description <p> </p>
     * @Date 2019/10/2 20:54
     * @Version 1.0
     */
    @SpringBootApplication
    public class FileUploadApplication {
        public static void main(String[] args) {
            SpringApplication.run(FileUploadApplication.class,args);
        }
    }

    六测试

    发送http的post请求,使用表单形式,key为files需要与MultipartFile[] 的参数名称一致,挑选两个文件,发送成功后,会看到最后返回的文件路径;


    打开保存的文件路径可以发现已经实现文件上传。

     

    转载于:https://zhuanlan.zhihu.com/p/104312514?utm_source=wechat_session

  • 相关阅读:
    从小到大全排列
    众数-摩尔投票法
    链表复制
    2019.8.29刷题统计
    2019.8.28刷题统计
    2019.8.27刷题统计
    2019.8.26
    2019.8.25刷题统计
    2019.8.24
    2019.8.23刷题统计
  • 原文地址:https://www.cnblogs.com/it-deepinmind/p/12596623.html
Copyright © 2011-2022 走看看