我尝试更新Grails 3中的文件上载maxFileSize限制,并尝试了src/main/resources/application.properties
、application.groovy
和application.yml
中的配置,但仍然抛出异常
Class
org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException
Message
the request was rejected because its size (154738) exceeds the configured maximum (128000)
关于在Grails 3应用程序中配置什么以及在哪里配置有什么帮助吗?
6条答案
按热度按时间gt0wga4j1#
Grails 3、Grails 4、Grails 5和Grails 6
解决方案是在
application.yml
文件中设置maxFileSize
和maxRequestSize
限制(通常放在grails-app/conf/
中)。将
2000000
替换为文件上载和整个请求所需的最大字节数。Grails 3、Grails 4、Grails 5和Grails 6的默认值为128000(~ 128 KB)。常见问题
1.如何将MB转换为字节?
例如,* 以字节为单位转换5 MB *
2.安全
正如OWASP所说
将文件大小限制为最大值,以防止拒绝服务攻击
因此,这些限制的存在是为了防止DoS攻击和增强整体应用程序性能(请求大小越大==服务器使用的内存越多)。
3.
maxFileSize
和maxRequestSize
的正确值是多少?这取决于应用程序的类型,但通常来说,把它们保持得太高是一个坏主意。如果你真的需要上传大文件,也许你应该开发(或使用)一个专用的(和独立的)服务。
46qrfjad2#
问题的一部分是设置最大文件大小。另一个问题是优雅地处理那个错误。
下面是我的bean定义:
下面是我的实现:
其思想是检查控制器或过滤器中的request属性,以确定文件是否太大。
ehxuflar3#
我在www.example.com或application. yml中设置新的最大值时也没有成功application.properties。
不过,在conf/spring/resources.groovy中使用bean定义确实有效:
wnvonmuf4#
试试这个https://github.com/zyro23/grails-core-668/blob/master/grails-app/conf/application.yml
上传:最大文件大小:999999999最大请求大小:9999999999
suzh9iv85#
https://github.com/grails/grails-core/issues/668
和/或
配置属性/设置
cwtwac6a6#
下面的代码对我很有效(grails 3.3.9):
在
conf/spring/resources.groovy
中在
MyFile.groovy
域中在
conf/application.yml
的末尾