[SPRING] 봄 부팅시 HTTP POST maxPostSize 증가
SPRING봄 부팅시 HTTP POST maxPostSize 증가
꽤 간단한 Spring Boot 웹 애플리케이션이 있는데, enctype = "multipart / form-data"형식의 단일 HTML 페이지가 있습니다. 이 오류가 발생합니다.
Spring Boot의 기본 내장 된 Tomcat 서버를 사용하고 있습니다. 분명히 기본 maxPostSize 값은 2 메가 바이트입니다. 이 값을 편집 할 방법이 있습니까? application.properties를 통해 이렇게하는 것이 가장 좋을 것입니다. 사용자 정의 된 bean을 작성하거나 xml 파일로 엉망으로 만들지 않아도됩니다.
해결법
-
==============================
1.application.properties 파일에서 다음을 작성하십시오.
application.properties 파일에서 다음을 작성하십시오.
# Max file size. spring.http.multipart.max-file-size=1Mb # Max request size. spring.http.multipart.max-request-size=10Mb
필요에 따라 크기를 조정하십시오.
최신 정보
참고 : Spring Boot 2에서는 이제 할 수 있습니다.
# Max file size. spring.servlet.multipart.max-file-size=1MB # Max request size. spring.servlet.multipart.max-request-size=10MB
부록 A. 일반적인 응용 프로그램 속성 - 스프링
-
==============================
2.해결책을 찾았습니다. SpringApplication.run을 실행하는 동일한 클래스에이 코드를 추가하십시오.
해결책을 찾았습니다. SpringApplication.run을 실행하는 동일한 클래스에이 코드를 추가하십시오.
// Set maxPostSize of embedded tomcat server to 10 megabytes (default is 2 MB, not large enough to support file uploads > 1.5 MB) @Bean EmbeddedServletContainerCustomizer containerCustomizer() throws Exception { return (ConfigurableEmbeddedServletContainer container) -> { if (container instanceof TomcatEmbeddedServletContainerFactory) { TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container; tomcat.addConnectorCustomizers( (connector) -> { connector.setMaxPostSize(10000000); // 10 MB } ); } }; }
편집 : 분명히 당신의 application.properties 파일에 추가 또한 maxPostSize 증가하지만, 나는 그것을 확인할 수 없으므로 직접 시도하지 않았습니다.
multipart.maxFileSize=10Mb # Max file size. multipart.maxRequestSize=10Mb # Max request size.
-
==============================
3.POST 요청에서 x-www-form-urlencoded mediatype을 사용하고 있다면 (예를 들어), spring-boot의 multipart 속성이 작동하지 않습니다. spring-boot 응용 프로그램이 tomcat을 시작하는 경우 application.properties 파일에 다음 등록 정보를 설정해야합니다. # 게시물 요청의 최대 크기를 6MB로 설정 (기본값 : 2MB) server.tomcat.max-http-post-size = 6291456 나는 스프링 부트 문서에서 그 정보를 찾을 수 없었다. X-www-form-urlencoded 인코딩을 사용하는 사람에게 도움이되기를 바랍니다.
POST 요청에서 x-www-form-urlencoded mediatype을 사용하고 있다면 (예를 들어), spring-boot의 multipart 속성이 작동하지 않습니다. spring-boot 응용 프로그램이 tomcat을 시작하는 경우 application.properties 파일에 다음 등록 정보를 설정해야합니다. # 게시물 요청의 최대 크기를 6MB로 설정 (기본값 : 2MB) server.tomcat.max-http-post-size = 6291456 나는 스프링 부트 문서에서 그 정보를 찾을 수 없었다. X-www-form-urlencoded 인코딩을 사용하는 사람에게 도움이되기를 바랍니다.
-
==============================
4.문서 : https://spring.io/guides/gs/uploading-files/
문서 : https://spring.io/guides/gs/uploading-files/
-
==============================
5.먼저 spring.http 대신 spring.servlet을 사용하고 있는지 확인하십시오.
먼저 spring.http 대신 spring.servlet을 사용하고 있는지 확인하십시오.
--- spring: servlet: multipart: max-file-size: 10MB max-request-size: 10MB
바람둥이를 사용해야 할 경우 EmbeddedServletContainerCustomizer를 작성하게 될 수도 있습니다. 실제로는 좋은 일이 아닙니다.
당신이 tomat없이 살 수 있다면, 당신은 tomcat을 예를 들어로 대체 할 수 있습니다. 이 문제를 해결하고 피하십시오.
-
==============================
6.application.yaml 및 application.properties에 속성을 정의 할 때 약간의 차이가 있습니다.
application.yaml 및 application.properties에 속성을 정의 할 때 약간의 차이가 있습니다.
application.yml에서 :
spring: http: multipart: max-file-size: 256KB max-request-size: 256KB
그리고 application.properties에서 :
spring.http.multipart.max-file-size=128KB spring.http.multipart.max-request-size=128KB
참고 : 스프링 버전 4.3 및 스프링 부트 1.4
from https://stackoverflow.com/questions/33232849/increase-http-post-maxpostsize-in-spring-boot by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 부트 - jar 파일 만들기 - META-INF / spring.factories에 자동 구성 클래스가 없습니다. (0) | 2018.12.19 |
---|---|
[SPRING] 유형별로 참조 빈을 Autowire로 나열 (0) | 2018.12.19 |
[SPRING] Tomcat 6에서 Spring 4.0을 배치 할 때의 AbstractMethodError (0) | 2018.12.19 |
[SPRING] Spring 부트에서 Yaml의 목록을 객체 목록으로 매핑 (0) | 2018.12.19 |
[SPRING] Spring은 추상 클래스 내에서 autowire 할 수 있습니까? (0) | 2018.12.19 |