I am trying to set maxFileSize but it is not honored

家住魔仙堡 提交于 2019-11-27 05:41:59

问题


I am developing an application utilizing JHipster. I have added the following to my application-dev.yml file:

spring:

    profiles:
        active: dev

    multipart:
        maxFileSize: -1

But I am still getting an error when I try to try to upload a file > 1MB:

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

What am I missing? It seems this should be pretty straight forward.

Update 1

I un-nested it from spring config as suggested by Andy, but still got the error. Updated yml file:

server:
    port: 8080

multipart:
        maxFileSize: -1

spring:

    profiles:
        active: dev

    datasource: ...

Update 2

Ran into this issue again on newer version of Sprint Boot and had to change to this:

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

回答1:


In addition to configuring max file size, you may also need to configure max request size if you have a single file that's greater than 10MB or you want to upload multiple files in the same request with sizes that total more than 10MB.

The exact properties that need to be used depend on the version of Spring Boot that you are using as they changed in 1.4:

Spring Boot 1.3.x and earlier

  • multipart.maxFileSize
  • multipart.maxRequestSize

Spring Boot 1.4.x and 1.5.x

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

Spring Boot 2.x

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



回答2:


for spring-boot 2.x, file: src/main/resources/application.yaml

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



回答3:


Like Emilio Garcia mentioned, it has to be placed under spring.http.multipart and not multipart alone. I have recently upgraded a project from Spring Boot 1.3.5 to 1.4.1 and ran into the issue that multipart.maxFileSize is no longer honored .. it appears to have changed.




回答4:


As stated here, you need to use these properties:

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



回答5:


Grails 3’s default file size is 128000.

If You Want to increase the size go to application.yml of your project ,as i want to increase the size to 25 megabyte. the file size is set in bytes , as we see above max size is 128000 bytes. so i have to convert 25 mb into bytes.

25 mb * 1024 kb * 1024 b = 26.214.400 bytes

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

and write down these lines properly

grails: controllers: upload: maxFileSize: 26214400 maxRequestSize: 26214400

Now clean the application and run again , it will work wonders. Thanks




回答6:


Adding below to configuration worked for me:

ribbon:
  ReadTimeout: 20000
  ConnectTimeout: 20000

Read Timeout on Request



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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!