application.properties or application.yml 내에서 파일 업로드 용량을 제한하는 설정을 추가하면, 스프링에서 자동으로 이 요청을 차단하여 서비스나 유틸리티 계층에 도달하기 전에 예외를 발생시킴
spring.servlet.multipart.max-file-size=5MB // 단일 파일의 최대 크기
spring.servlet.multipart.max-request-size=50MB // 전체 요청의 최대 허용 크기
MaxUploadSizeExceededException: 단일 파일 크기 제한을 초과한 경우IllegalStateException: 요청 크기 전체가 max-request-size를 초과한 경우파일 용량 초과에 대한 처리를 사용자 정의하고 싶다면 @ControllerAdvice와 @ExceptionHandler를 사용하여 MaxUploadSizeExceededException 예외를 처리할 수 있음
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(MaxUploadSizeExceededException.class)
public ResponseEntity<String> handleMaxSizeException(MaxUploadSizeExceededException ex) {
return ResponseEntity.status(HttpStatus.PAYLOAD_TOO_LARGE)
.body("파일 크기가 허용된 제한을 초과했습니다!");
}
}
https://velog.io/@park2348190/MultipartProperties의-max-file-size-max-request-size의-차이