美文网首页
SpringBoot 2.0 文件上传踩坑

SpringBoot 2.0 文件上传踩坑

作者: FORGET_静哥哥 | 来源:发表于2019-02-28 15:08 被阅读0次

    踩坑经历:
    在项目中,有个需求是前端传递Excel文件到后端,后端读取Excel文件中的数据,保存到数据库中,刚开始Exccel中存在少量的几十条数据,上传读取没有问题,后来需求方说文件中可能会有10W+条数据,当我再次测试的时候发现后端报错了:The field file exceeds its maximum permitted size of 1048576 bytes
    后来才想起因为SpringBoot自带集成的Tomcat限制了文件上传大小,如果文件大于1M,则需要在application.yml配置文件中重新设置:

    SpringBoot 2.0版本:

    spring:
      servlet:
        multipart:
          enabled: true
          max-file-size: 10Mb
          max-request-size: 100Mb
    

    同时,1.x版本和2.x版本的配置方式也不一样,又是一个坑:

    SpringBoot1.5.9版本

        spring:
          http:
            multipart:
              enabled: true
              max-file-size: 10Mb
              max-request-size: 100Mb
    

    除了这种方式以外,还有另外一种方式可以处理:
    编写一个Bean:

    /**  
         * 文件上传配置  
         * @return  
         */  
        @Bean  
        public MultipartConfigElement multipartConfigElement() {  
            MultipartConfigFactory factory = new MultipartConfigFactory();  
            //单个文件最大  
            factory.setMaxFileSize("10MB"); //KB,MB  
            //设置总上传数据总大小  
            factory.setMaxRequestSize("100MB");  
            return factory.createMultipartConfig();  
        }
    

    这样就可以解决因为文件太大导致失败的问题。

    相关文章

      网友评论

          本文标题:SpringBoot 2.0 文件上传踩坑

          本文链接:https://www.haomeiwen.com/subject/yeohuqtx.html