使用scaffolding生成控制器和视图时,将文件上传到grails文件系统

时间:2016-11-17 19:39:38

标签: grails file-upload scaffolding

我使用的是Grails 2.2.2。在我的项目中,我是来自域的脚手架控制器和视图。现在我想上传文件并将上传的文件存储在文件系统上,而不是数据库中。在db中,我只是要存储上传文件的位置。

我google了一下,但只找到了通过定义byte []属性将数据存储在db中的方法,我不想这样做。请告诉我如何将上传的文件保存在带脚手架的文件系统上

1 个答案:

答案 0 :(得分:0)

你不能用脚手架做到这一点。您必须在控制器中实现实际操作。因此,假设您要在save()操作中保存文件:

def save() {
   def someFile = request.getFile("someFile")
   // create a new file somewhere to store the uploaded file:
   def file = new File("/some/path/for/file.foo")
   someFile.transferTo(file)
}

显然,有更好的方法可以根据你的路径进行管理,也许可以在服务中做到这一点,等等。但这就是要点,而且外卖是不能搭建的。