修改appliaction.properties
# 单个文件最大20mspring.servlet.multipart.max-file-size=20MB#一次请求最大100Mspring.servlet.multipart.max-request-size=100MB
如果配置文件为appliaction.yml的这样配置文件:
spring:servlet:multipart:maxFileSize: 20MBmaxRequestSize: 100MB
500代码异常,在启动类的里追加
/** * 文件上传配置 * * @return */@Beanpublic 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(); } }}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
本文标题: springboot上传文件过大的500异常解决
以上就上有关springboot上传文件过大的500异常解决的相关介绍,要了解更多spring,boot,上传,文件,异常内容请登录学步园。