如何设置上传文件的最大大小

新手上路,请多包涵

我正在使用 JHipster 开发基于 Spring Boot 和 AngularJS 的应用程序。我的问题是如何设置 上传文件的最大大小

如果我尝试上传到大文件,我会在控制台中获取此信息:

   DEBUG 11768 --- [io-8080-exec-10] c.a.app.aop.logging.LoggingAspect:

Enter: com.anuglarspring.app.web.rest.errors.ExceptionTranslator.processRuntimeException() with argument[s] =

[org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException:

org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.]

服务器响应状态为 500。

如何设置?

原文由 Michał Styś 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 843
1 个回答

同样在 Spring boot 1.4 中,您可以将以下行添加到 application.properties 以设置文件大小限制:

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

对于 spring boot 2.x 及更高版本

spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB

为我工作。来源: https ://spring.io/guides/gs/uploading-files/

更新:

有人问这两个属性的区别。

以下是正式定义:

MaxFileSize:上传文件允许的最大大小,以字节为单位。如果任何上传文件的大小大于此大小,Web 容器将抛出异常 (IllegalStateException)。默认大小是无限的。

MaxRequestSize:多部分/表单数据请求允许的最大大小,以字节为单位。如果所有上传文件的总大小超过此阈值,Web 容器将抛出异常。默认大小是无限的。

解释每个:

MaxFileSize: 单个文件上传的限制。这仅适用于单个文件限制。

MaxRequestSize: 单个上传请求中所有文件的总大小限制。这将检查总限制。假设您有两个文件 a.txtb.txt 用于单个上传请求。 a.txt5kbb.txt 是 7kb 所以 — MaxRequestSize 应该高于 12kb

原文由 Bahadir Tasdemir 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进