zoukankan      html  css  js  c++  java
  • 关于上传文件的大小限制

    Springboot项目关于上传文件的大小限制

    1, 第一种处理方式 application.properties中添加
    maxFileSize 是单个文件大小
    maxRequestSize是设置总上传的数据大小
    这就可以了。
    根据自己需求定义吧,Mb和Kb都可以,大小写也都随意,Long字节应该可以的
    另外这是MultipartConfigFactory类中的转换,可以瞅一眼

    spring.http.multipart.maxFileSize=10Mb  
    spring.http.multipart.maxRequestSize=10Mb  
    
    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());  
      }  
    

    2,第二种增加Bean配置,注意当前类上需要加注解@Configuration

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

    一般配置就放在启动类中就好了

    @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();  
        }  
      
    }  
    

    3,第三种,Nginx上传限制
    在nginx使用过程中,上传文件的过程中,通常需要设置nginx报文大小限制。避免出现413 Request Entity Too Large。

    先找到linux下的/usr/local/nginx/confnginx.conf
    加上 client_max_body_size 10m; 这句话

    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
         charset utf-8;
        access_log  /var/log/nginx/access.log  main;
        client_max_body_size 10m;  #增加这个参数就可以指定最大上传文件大小为10m了;
        sendfile        on;
        #tcp_nopush     on;
        keepalive_timeout  65;
    
    

    然后保存,再命令行输入cd /usr/local/nginx/sbin,进入这个nginx/sbin目录,输入 ./nginx -s reload 重启nginx即可

  • 相关阅读:
    LPC2478时钟模块详解
    LPC2478内存布局以及启动方式
    STM8的GPIO驱动
    STM8时钟系统详解
    ELF文件格式分析--结构篇
    S3C2440 TFTLCD驱动详解
    S3C2440触摸屏驱动详解
    S3C2440 ADC详解
    STM8建立IAR工程
    STM8单片机启动流程彻底探究--基于IAR开发环境
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13300568.html
Copyright © 2011-2022 走看看