2013-01-13 33 views
1

我尝试构建一个包含其中包含文件上传字段的步骤的grails 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 

回答

1

问题是我用克:形式动作属性。 使用同一个Webflow文件上传正确的方法是使用克:提交按钮

这里是形式的代码,我的Webflow正常工作:

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

的Theres为'' –

+0

@JamesKleeh谢谢你,我更新了我的帖子。 – Igor

+0

@GrailsGuy,我正在努力与** Grails Webflow ** + **文件上传**。他们每个人都很好,但不在一起。上传操作不会在webflow中执行,而是在其他地方路由。我会用一些代码来升级这篇文章。 – snowindy