springboot上传文件过大的500异常解决
更新时间:2019年09月28日 10:37:03 作者:呵呵哒小码农
这篇文章主要介绍了springboot上传文件过大的500异常解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
修改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(); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
ShardingSphere jdbc实现分库分表核心概念详解
这篇文章主要为大家介绍了ShardingSphere jdbc实现分库分表核心概念详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-12-12SpringBoot+Spring Security无法实现跨域的解决方案
这篇文章主要介绍了SpringBoot+Spring Security无法实现跨域的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-07-07
最新评论