programing

max File Size를 설정하려고 하는데 허용되지 않습니다.

megabox 2023. 2. 11. 09:07
반응형

max File Size를 설정하려고 하는데 허용되지 않습니다.

저는 JHIPster를 활용한 어플리케이션을 개발하고 있습니다.application-dev.yml 파일에 다음 항목을 추가했습니다.

spring:

    profiles:
        active: dev

    multipart:
        maxFileSize: -1

그러나 1MB보다 큰 파일을 업로드하려고 하면 여전히 오류가 발생합니다.

Caused by: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (20663006) exceeds the configured maximum (10485760)

제가 무엇을 빠뜨리고 있나요?이것은 꽤 간단해 보입니다.

업데이트 1

나는 그것을 뺐다.springAndy가 제안한 대로 설정했지만 여전히 오류가 발생했습니다.갱신된 yml 파일:

server:
    port: 8080

multipart:
        maxFileSize: -1

spring:

    profiles:
        active: dev

    datasource: ...

업데이트 2

새로운 버전의 Sprint Boot에서 다시 이 문제가 발생하여 다음과 같이 변경해야 합니다.

spring:
    http:
        multipart:
            max-file-size: 30MB
            max-request-size: 30MB

최대 파일 크기를 구성할 뿐만 아니라 단일 파일이 10MB를 초과하거나 총 크기가 10MB를 초과하는 여러 파일을 동일한 요청에 업로드하려는 경우에도 최대 요청 크기를 구성해야 할 수 있습니다.

사용해야 하는 정확한 속성은 1.4에서 변경되었기 때문에 사용하고 있는Spring Boot 버전에 따라 다릅니다.

스프링 부트 1.3.x 이전

  • multipart.maxFileSize
  • multipart.maxRequestSize

스프링 부트 1.4.x 및 1.5.x

  • spring.http.multipart.maxFileSize
  • spring.http.multipart.maxRequestSize

스프링 부트 2.x

  • spring.servlet.multipart.maxFileSize
  • spring.servlet.multipart.maxRequestSize

spring-boot 2.x의 경우 파일: src/main/main/application.srcl

spring:
  servlet:
    multipart:
      max-file-size: -1
      max-request-size: -1

에밀리오 가르시아가 언급한 것처럼, 이 파일은spring.http.multipart가 아니라multipart저는 최근에 스프링 부트 1.3.5에서 1.4.1로 프로젝트를 업그레이드했고 다음과 같은 문제에 부딪혔습니다.multipart.maxFileSize더 이상 명예롭지 않다.바뀐 것 같아요.

여기서 설명한 것처럼 다음 속성을 사용해야 합니다.

spring.http.multipart.max-file-size=128KB
spring.http.multipart.max-request-size=128KB

Grails 3의 기본 파일 크기는 128000입니다.

크기를 늘리고 싶다면 프로젝트의 application.yml로 가십시오.사이즈를 25메가바이트로 늘리고 싶기 때문입니다.파일 사이즈는 바이트 단위로 설정되어 있습니다.위의 최대 사이즈는 128000바이트입니다.25MB를 바이트로 변환해야 합니다.

25 mb * 1024 kb * 1024 b = 26.214.400 바이트

goo / grails - app / conf / application . yml 。

그리고 이 줄들을 잘 적어주세요.

그레이스: 컨트롤러: 업로드: maxFileSize: 26214400 maxRequestSize: 26214400

이제 응용 프로그램을 지우고 다시 실행하면 놀라운 기능을 할 수 있습니다.감사해요.

아래를 구성에 추가하는 것이 효과적이었습니다.

ribbon:
  ReadTimeout: 20000
  ConnectTimeout: 20000

요청 시 읽기 시간 초과

외부 Tomcat을 사용하여 Commons Multipart Resolver를 설정하는 경우 Multipart Filter로 빈 이름을 가진 빈을 정의합니다.DEFAULT_MULTIPART_RESOLVER_BEAN_NAME 기본 스프링 부트의 MultipartFilter는 기본 빈 이름을 가진 해결사를 찾습니다.

@Bean(name = MultipartFilter.DEFAULT_MULTIPART_RESOLVER_BEAN_NAME)
protected MultipartResolver getMultipartResolver() {
    CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
    multipartResolver.setMaxUploadSize(20971520);//size in bytes
    multipartResolver.setMaxInMemorySize(20971520);//size in bytes
    return multipartResolver;
}

언급URL : https://stackoverflow.com/questions/28572700/i-am-trying-to-set-maxfilesize-but-it-is-not-honored

반응형