zoukankan      html  css  js  c++  java
  • springboot 上传文件过大的500异常

    1修改appliaction.properties

    # 单个文件最大20m

    spring.servlet.multipart.max-file-size=20MB

    #一次请求最大100M

    spring.servlet.multipart.max-request-size=100MB

    如果配置文件为appliaction.yml的这样配置文件:

    spring:
    servlet:
    multipart:
    maxFileSize: 20MB
    maxRequestSize: 100MB



    500代码异常,在启动类的里追加
    /**
    * 文件上传配置
    *
    * @return
    */
    @Bean
    public MultipartConfigElement multipartConfigElement() {
    /*
    springBoot 1.0+ 推荐这种写法
    MultipartConfigFactory factory = new MultipartConfigFactory();
    //单个文件最大
    factory.setMaxFileSize("20480KB"); //KB,MB
    factory.setMaxFileSize("20480KB");
    /// 设置总上传数据总大小
    factory.setMaxRequestSize("102400KB");
    return factory.createMultipartConfig();

    */
    // springBoot 2.0+ 推荐这种写法,

    MultipartConfigFactory factory = new MultipartConfigFactory();
    //文件最大10M,DataUnit提供5中类型B,KB,MB,GB,TB
    factory.setMaxFileSize(DataSize.of(10, DataUnit.MEGABYTES));
    /// 设置总上传数据总大小10M
    factory.setMaxRequestSize(DataSize.of(100, DataUnit.MEGABYTES));
    return factory.createMultipartConfig();


    }




    这是我的启动类:

    package com.tythin.tyboot.rest;

    import org.apache.coyote.http11.AbstractHttp11Protocol;
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
    import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
    import org.springframework.boot.web.servlet.MultipartConfigFactory;
    import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.scheduling.annotation.EnableScheduling;
    import org.springframework.web.cors.CorsConfiguration;
    import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
    import org.springframework.web.filter.CorsFilter;

    import com.tythin.tyboot.core.config.WebAutoConfiguration;

    import javax.servlet.MultipartConfigElement;

    @SpringBootApplication(exclude = { WebAutoConfiguration.class })
    @EnableScheduling
    @MapperScan(basePackages = "XXXX")
    public class TybootRestApplication {

    public static void main(String[] args) {
    SpringApplication.run(TybootRestApplication.class, args);
    }

    @Configuration
    public class CorsConfig {
    private CorsConfiguration buildConfig() {
    CorsConfiguration corsConfiguration = new CorsConfiguration();
    corsConfiguration.addAllowedOrigin("*"); // 1允许任何域名使用
    corsConfiguration.addAllowedHeader("*"); // 2允许任何头
    corsConfiguration.addAllowedMethod("*"); // 3允许任何方法(post、get等)
    return corsConfiguration;
    }

    @Bean
    public CorsFilter corsFilter() {
    UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    source.registerCorsConfiguration("/**", buildConfig()); // 4
    return new CorsFilter(source);
    }

    /**
    * 文件上传配置
    *
    * @return
    */
    @Bean
    public MultipartConfigElement multipartConfigElement() {
    /*
    springBoot 1.0+ 推荐这种写法
    MultipartConfigFactory factory = new MultipartConfigFactory();
    //单个文件最大
    factory.setMaxFileSize("20480KB"); //KB,MB
    factory.setMaxFileSize("20480KB");
    /// 设置总上传数据总大小
    factory.setMaxRequestSize("102400KB");
    return factory.createMultipartConfig();

    */
    // springBoot 2.0+ 推荐这种写法,

    MultipartConfigFactory factory = new MultipartConfigFactory();
    //文件最大10M,DataUnit提供5中类型B,KB,MB,GB,TB
    factory.setMaxFileSize(DataSize.of(10, DataUnit.MEGABYTES));
    /// 设置总上传数据总大小10M
    factory.setMaxRequestSize(DataSize.of(100, DataUnit.MEGABYTES));
    return factory.createMultipartConfig();

    }
    }
    }



    
    
  • 相关阅读:
    你爱的不爱你,转身是幸福
    按字节长度截取字符串(支持截取带HTML代码样式的字符串)
    存储过程操作类
    C# 拖动控件
    文件同步类
    c# 动态改变控件大小的方法
    虚拟世界改变现实 盛大兴建永恒之塔
    c#百钱买百鸡
    序列化类
    DLL专题之MFC规则库和扩展库
  • 原文地址:https://www.cnblogs.com/woshuaile/p/11600568.html
Copyright © 2011-2022 走看看