我正在使用 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。
怎么设置呢?
也在 Spring Boot 中1.4,您可以将以下行添加到 application.properties 中以设置文件大小限制:
spring.http.multipart.max-file-size=128KB
spring.http.multipart.max-request-size=128KB
用于弹簧靴2.x并高于其
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
为我工作。来源:https://spring.io/guides/gs/uploading-files/ https://spring.io/guides/gs/uploading-files/
UPDATE:
有人问这两个属性之间的区别。
以下是正式定义:
MaxFileSize:允许上传的文件的最大大小,以字节为单位。如果任何上传文件的大小大于此大小,Web 容器将抛出异常 (IllegalStateException)。默认大小是无限的。
MaxRequestSize:多部分/表单数据请求允许的最大大小(以字节为单位)。如果所有上传文件的总大小超过此阈值,Web 容器将引发异常。默认大小是无限的。
逐一解释:
最大文件大小:单个文件上传限制。这仅适用于单个文件限制。
最大请求大小:单个上传请求中所有文件的总大小限制。这会检查总限制。假设您有两个文件a.txt and b.txt对于单个上传请求。a.txt is 5kb and b.txt is 7kb so the MaxRequestSize
应该在上面12kb.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)