Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 430|回复: 0

springboot 上传文件过大的500异常

[复制链接]
  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 790 天

    [LV.10]以坛为家III

    2049

    主题

    2107

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    722766
    发表于 2021-7-1 10:03:06 | 显示全部楼层 |阅读模式

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

    }
    }
    }



    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-9-13 13:12 , Processed in 1.005475 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表