【发布时间】:2010-09-14 15:12:02
【问题描述】:
我有这个 GSP:
<g:uploadForm name="myForm" action='save'>
<input type='file' name='documentFile' value=''/>
<input type='file' name='documentFile' value=''/>
<input type='file' name='documentFile' value=''/>
<input type='file' name='documentFile' value=''/>
<input type='submit' value='Submit'/>
</g:uploadForm>
但是当我尝试在控制器中通过键入查看结果时:
render(params);
return true;
我得到了这个结果:
"documentFile":org.springframework.web.multipart.commons.CommonsMultipartFile@14dcf95
如何读取每个上传的文件? 我可以得到以下吗?
documentFile:[File,null,File,null] // (if the 2nd and the 4th are not being used)
ps:我使用的是 grails 1.2.2
【问题讨论】:
-
您的表单中的文件数量是否可变,或者总是四个?如果它是可变的,我会相应地更新我的答案。
-
它是可变的。我确实在名称的末尾添加了数字……但它仍然很奇怪,因为当您多次键入 时,它会在参数中生成“某物”数组。
-
是的,我正在查看 Grails API,但找不到基于文件输入检索 File[] 对象的方法。 Servlet API 提供了获取 String[] 数组的方法,但我还没有查看它的源代码以了解它是如何做到的。据推测,它可以通过对 HTTP 请求的一些手动工作来完成,但这可能是太多的工作。使用 Grails 的
request.fileNames可能是一个合理的等价物。
标签: java grails file-upload groovy