我正在尝试找到一种方法来限制用户可以上传的文件的大小。我需要满足以下条件:
-我可以使用客户端文件大小检测,但可以绕过。所以服务器端更可取。 -我希望能够在上传开始之前计算出文件大小,或者如果这不可能,我应该能够在流式传输时设置大小限制,所以如果流达到限制它会停止并且不会'不再接收来自客户端的流。 (我看到 Apache 有一个我可以使用的最大限制,但我想知道我是否可以使用 Spring/Grails 来做到这一点)
有没有办法在 Grails 中优雅地做到这一点?
P.S:我注意到“multipartResolver”可以设置文件上传限制,multipartResolver 是先上传然后检查还是在实际完整下载文件之前检查大小?
最佳答案
知道您正在使用自己的代码进行上传,我假设您的域中有一个用于保存文件的字段。如果是这样,那么您可以在域类的静态约束中添加一个 maxSize 属性。
例子:
class Files {
byte[] uploadedFile
static constraints = {
uploadedFile(nullable:true, maxSize: 10 * 1024 * 1024)
}
}
它对我有用。希望对您有所帮助。
关于spring - Grails,将文件上传大小限制为几兆字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20789004/