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

时间:2015-10-26 15:12:56

标签: grails multipartform-data

我想增加文件大小,在将其上传到grails app时会保留在内存中(意味着它不会写入hdd)。我已经阅读了一些定义multipartResolver bean的建议并设置了maxInMemorySize属性:

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

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

1 个答案:

答案 0 :(得分:1)

你是正确的,你可能正在删除Grails所做的一些配置,即使你复制了整个原始的bean定义并进行了一次更改,Grails的定义可能在将来发生变化,你也可以防止它。

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

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

class BootStrap {

   def multipartResolver

   def init = {
      multipartResolver.maxInMemorySize = 10240
   }
}