springboot上傳文件過(guò)大的500異常解決
更新時(shí)間:2019年09月28日 10:37:03 作者:呵呵噠小碼農(nóng)
這篇文章主要介紹了springboot上傳文件過(guò)大的500異常解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
修改appliaction.properties
# 單個(gè)文件最大20m spring.servlet.multipart.max-file-size=20MB #一次請(qǐng)求最大100M spring.servlet.multipart.max-request-size=100MB
如果配置文件為appliaction.yml的這樣配置文件:
spring: servlet: multipart: maxFileSize: 20MB maxRequestSize: 100MB
500代碼異常,在啟動(dòng)類(lèi)的里追加
/**
* 文件上傳配置
*
* @return
*/
@Bean
public MultipartConfigElement multipartConfigElement() {
/*
springBoot 1.0+ 推薦這種寫(xiě)法
MultipartConfigFactory factory = new MultipartConfigFactory();
//單個(gè)文件最大
factory.setMaxFileSize("20480KB"); //KB,MB
factory.setMaxFileSize("20480KB");
/// 設(shè)置總上傳數(shù)據(jù)總大小
factory.setMaxRequestSize("102400KB");
return factory.createMultipartConfig();
*/
// springBoot 2.0+ 推薦這種寫(xiě)法,
MultipartConfigFactory factory = new MultipartConfigFactory();
//文件最大10M,DataUnit提供5中類(lèi)型B,KB,MB,GB,TB
factory.setMaxFileSize(DataSize.of(10, DataUnit.MEGABYTES));
/// 設(shè)置總上傳數(shù)據(jù)總大小10M
factory.setMaxRequestSize(DataSize.of(100, DataUnit.MEGABYTES));
return factory.createMultipartConfig();
}
這是我的啟動(dòng)類(lèi):
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+ 推薦這種寫(xiě)法
MultipartConfigFactory factory = new MultipartConfigFactory();
//單個(gè)文件最大
factory.setMaxFileSize("20480KB"); //KB,MB
factory.setMaxFileSize("20480KB");
/// 設(shè)置總上傳數(shù)據(jù)總大小
factory.setMaxRequestSize("102400KB");
return factory.createMultipartConfig();
*/
// springBoot 2.0+ 推薦這種寫(xiě)法,
MultipartConfigFactory factory = new MultipartConfigFactory();
//文件最大10M,DataUnit提供5中類(lèi)型B,KB,MB,GB,TB
factory.setMaxFileSize(DataSize.of(10, DataUnit.MEGABYTES));
/// 設(shè)置總上傳數(shù)據(jù)總大小10M
factory.setMaxRequestSize(DataSize.of(100, DataUnit.MEGABYTES));
return factory.createMultipartConfig();
}
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java面試題——詳解HashMap和Hashtable 的區(qū)別
本篇文章主要介紹了java中HashMap和Hashtable的區(qū)別,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11
java基礎(chǔ)詳解之?dāng)?shù)據(jù)類(lèi)型知識(shí)點(diǎn)總結(jié)
這篇文章主要介紹了java基礎(chǔ)詳解之?dāng)?shù)據(jù)類(lèi)型知識(shí)點(diǎn)總結(jié),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很大的幫助,需要的朋友可以參考下2021-04-04
SpringBoot整合Swagger頁(yè)面禁止訪問(wèn)swagger-ui.html方式
本文介紹了如何在SpringBoot項(xiàng)目中通過(guò)配置SpringSecurity和創(chuàng)建攔截器來(lái)禁止訪問(wèn)SwaggerUI頁(yè)面,此外,還提供了禁用SwaggerUI和Swagger資源的配置方法,以確保這些端點(diǎn)和頁(yè)面對(duì)外部用戶不可見(jiàn)或無(wú)法訪問(wèn)2025-02-02
簡(jiǎn)單了解java局部變量與成員變量的區(qū)別
這篇文章主要介紹了簡(jiǎn)單了解java局部變量與成員變量的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10

