如何上传grails webflow中的文件?

时间:2013-01-13 17:58:28

标签: grails file-upload upload spring-webflow

我尝试构建一个包含一个步骤的grails webflow,其中包含一个文件上传字段。找不到一个明确的例子。我该怎么办?

表格如下:

<g:form method="POST" action="upload" enctype="multipart/form-data">
    <input type="file" name="myFile" />
    <input type="submit" value="Upload! " />
</g:form>

流程如下:

def rgdpsRequestFlow = {
    chargeCheck{
        on("upload"){ 
            println "Hello file upload"
        }.to("uploadSuccess")
    }
    uploadSuccess{

    }
}

当我提交表格时,我

HTTP Status 404 - /webflowTest/mortgage/upload

2 个答案:

答案 0 :(得分:3)

有点不清楚你正在努力的那个部分。如果您需要有关文件上传的帮助,可以尝试使用Grails File Uploader plugin,或者查看此step-by-step tutorial或使用James Kleeh指出的uploadForm标记。

即,在gsp中你可以添加:

<g:uploadForm controller='yourControllerName' action='save'>
    <input type='file' name='file'/>
    <input type='submit'/>
</g:uploadForm>

然后在控制器中处理它:

def save = {
    def file = request.getFile('file').inputStream.text
    file.transferTo(new File('someLocation/filename'))
}

答案 1 :(得分:1)

问题是我使用了 g:form action 属性。 使用webflow使用文件上传的正确方法是使用 g:submitButton

以下是适用于我的网络流的表单代码:

<g:form method="POST" enctype="multipart/form-data">
    <input type="file" name="myFile" />
    <g:submitButton class="save" name="upload" value="Upload!"/>
</g:form>