Grails:验证文件上传

时间:2010-11-24 17:52:31

标签: java validation forms grails file-upload

我的Grails应用程序有一个上传表单,如下所示:

<g:uploadForm action="save" >
    <input type="file" name="csvfile" />
    <!-- some other inputs ... -->
    <g:submitButton name="upload" value="Save" />
</g:uploadForm>

我不想将文件内容存储在域对象中,而是希望使用transferTo方法将它们直接传输到文件。在这种情况下如何执行验证(可能使用命令对象)?

2 个答案:

答案 0 :(得分:3)

上传文件时,您可以在控制器中执行以下操作:

def myAction = {
    def file = request.get('csvfile')
    file.transferTo(new File('/path/to/local/file'))
}

我不理解您的问题与表单中的输入如何映射到域对象之间的联系。如果您不想要域中的文件内容,则不应为其定义域字段。

如果您可以向我们提供您的域名,我们可以更好地了解您要完成的目标。

答案 1 :(得分:0)

这有点蛮力,但只需使用@Rob Hruska提供的示例代码并查找操作中的文件。它不是特别优雅,但功能简单,不会将文件放入域对象中。