默認情況下,Spring Boot 的文件上傳大小受限制,可以通過以下幾種方式解決:
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
spring:
servlet:
multipart:
max-file-size: 10MB
max-request-size: 10MB
WebMvcConfigurerAdapter
并重寫 configurePathMatch
方法。import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
configurer.setMaxUploadSize(10 * 1024 * 1024); // 設置最大文件上傳大小為 10MB
}
}
@ControllerAdvice
統一處理上傳文件大小限制異常:創建一個全局異常處理類,使用 @ControllerAdvice
注解,然后在方法中處理 MaxUploadSizeExceededException
異常。import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.multipart.MaxUploadSizeExceededException;
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(MaxUploadSizeExceededException.class)
public String handleMaxUploadSizeExceededException(MaxUploadSizeExceededException e) {
// 處理上傳文件大小超出限制的異常
return "error";
}
}
這些方法可以根據具體情況選擇使用,一般情況下,修改 application.properties 或 application.yml 文件即可滿足需求。