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

    }
    }
    }



    
    
  • 相关阅读:
    Office 2007 打开 C# VS2005 导出的Excel时报错:单元格数据太大 Office 2003打开正常 的解决办法
    【30篇突击 android】源码统计 十四
    Android加载对话框,异步执行代码的封装类
    android 图片设置圆角
    【30篇突击 android】源码统计 十二
    android 制作的精美闹钟
    读WP8开发新书,送Windows Phone 8开发书籍
    各种曲线图表。矩形 圆形,股票
    【30篇突击 android】源码统计 十三
    日历程序,支持添加日程提醒
  • 原文地址:https://www.cnblogs.com/woshuaile/p/11600568.html
Copyright © 2011-2022 走看看