spring - Grails,将文件上传大小限制为几兆字节

标签 spring apache tomcat grails file-upload

我正在尝试找到一种方法来限制用户可以上传的文件的大小。我需要满足以下条件:

-我可以使用客户端文件大小检测,但可以绕过。所以服务器端更可取。 -我希望能够在上传开始之前计算出文件大小,或者如果这不可能,我应该能够在流式传输时设置大小限制,所以如果流达到限制它会停止并且不会'不再接收来自客户端的流。 (我看到 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/

相关文章:

java - 自定义 InputFormat.getSplits() 从未在 Hive 中调用

java - 如何使用 Spring MVC/Spring Boot 编写适当的全局错误处理程序

java - 是否可以使用服务器端java程序用angularjs脚本生成html文件?

spring - 我可以将 Spring 框架用于非 Web 应用程序吗?

Spring <jee :remote-slsb> and JBoss AS7 - No EJB receiver available for handling

apache - 在 Windows 10 中使用 XAMPP 问题启用 SSL

PHP on Apache on Linux : when web app starts processes, 如果 Apache 重新启动,是否可以让这些进程保持事件状态?

spring - Spring无法使用Tomcat提供的JNDI DataSource?

java - 在 Spring Boot 中检查 Redis @Configuration

java - @Autowired 不能在类实例使用反射创建的类内部工作