在grails中更改内存上传文件大小

Change in memory upload file size in grails

我想增加文件大小,当上传到 grails 应用程序时它会保留在内存中(这意味着它不会写入硬盘)。我已经阅读了一些定义 multipartResolver bean 并设置 maxInMemorySize 属性:

的建议
multipartResolver(org.springframework.web.multipart.commons.CommonsMultipartResolver){ 
    maxInMemorySize=10240  
} 

但是我发现 grails 已经定义了这个 bean,所以我的定义将覆盖 grails 定义的所有其他设置。这真的是一个好方法吗?

你是对的,你可能正在删除 Grails 所做的一些配置,即使你复制了整个原始 bean 定义并进行了一个更改,Grails 定义将来可能会更改,你会阻止它也是。

在这种情况下,您可以随时更改 属性; Spring bean 中的 setter 在 DiskFileItemFactory 的私有实例上设置值,looking at its source 看起来这是一个安全的更改。

所以我会为 BootStrap 中的 bean 添加依赖注入并在那里进行更改,例如

class BootStrap {

   def multipartResolver

   def init = {
      multipartResolver.maxInMemorySize = 10240
   }
}