zoukankan      html  css  js  c++  java
  • 上传大小配置

    SpringBoot文件上传大小设置问题

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
           <property name="maxUploadSize" value="104857600"/>  
           <property name="maxInMemorySize" value="4096"/>  
       </bean>

    这是以前上传文件时一种比较常见的设置上传文件大小的方法,但由于spring-boot自带org.springframework.web.multipart.MultipartFile的原因,配置这个bean后会产生冲突,以至于在后台获取不到上传的文件 

    解决方法:

    第一种: 
    在application.properties中添加:

    spring.http.multipart.maxFileSize=10Mb  
    spring.http.multipart.maxRequestSize=10Mb 

    老版本的话添加:

    multipart.maxFileSize=128KB
    multipart.maxRequestSize=128KB

    其中: 
    maxFileSize 是单个文件大小 
    maxRequestSize是设置总上传的数据大小 
    原理-》MultipartConfigFactory类中的转换如下:

    private long parseSize(String size) {  
          Assert.hasLength(size, "Size must not be empty");  
          size = size.toUpperCase();  
          return size.endsWith("KB")?Long.valueOf(size.substring(0, size.length() - 2)).longValue() * 1024L:(size.endsWith("MB")?Long.valueOf(size.substring(0, size.length() - 2)).longValue() * 1024L * 1024L:Long.valueOf(size).longValue());  
      }  

    第二种: 
    在启动类中配置@Bean,注意当前类上需要加注解@Configuration,如下:

    @Configuration  
    @SpringBootApplication  
    public class Application { 
        public static void main(String[] args) throws Exception {  
            SpringApplication.run(Application.class, args);  
        }  
        /**  
         * 文件上传配置  
         * @return  
         */  
        @Bean  
        public MultipartConfigElement multipartConfigElement() {  
            MultipartConfigFactory factory = new MultipartConfigFactory();  
            //文件最大  
            factory.setMaxFileSize("10240KB"); //KB,MB  
            /// 设置总上传数据总大小  
            factory.setMaxRequestSize("102400KB");  
            return factory.createMultipartConfig();  
        }  
    } 

    此外:Tomcat,Nginx等也会对文件上传做一定的限制,具体问题具体分析。

    当能力支撑不了野心时,就该静下心来学习!
  • 相关阅读:
    gSTM:Ubuntu 上的 SSH Tunneling 图形界面管理工具
    Fiji Is Just ImageJ
    puppet运维自动化之sshkey管理
    Deploying JRuby applications with Java Web Start
    PAC Manager: Ubuntu 上强大的 SSH 帐号管理工具,可取代 SecureCRT
    rackwebconsole Build Status
    Jython Course Outline
    VPython
    Python Remote Objects 4.x
    Python包中__init__.py
  • 原文地址:https://www.cnblogs.com/1234cjq/p/7650223.html
Copyright © 2011-2022 走看看