如何在grails中上载多个文件

如何在grails中上载多个文件,grails,file-upload,Grails,File Upload,我有一个表单,包含多个文件上传,就像这个一样 <g:form name="legalActionForm" controller="legalAction" action="save" enctype="multipart/form-data"> <input type='file' name='documentFile'/> <input type='text' name='documentDate'/> <input type='file' name

我有一个表单,包含多个文件上传,就像这个一样

<g:form name="legalActionForm" controller="legalAction" action="save" enctype="multipart/form-data">
<input type='file' name='documentFile'/> <input type='text' name='documentDate'/>
<input type='file' name='documentFile'/> <input type='text' name='documentDate'/>
<input type='file' name='documentFile'/> <input type='text' name='documentDate'/>
<input type='file' name='documentFile'/> <input type='text' name='documentDate'/>
<input type='file' name='documentFile'/> <input type='text' name='documentDate'/>
<input type='submit' value='update'/>
</g:form>

用户可以添加更多,如果需要。。。 如何使用迭代器获取每个文件

如果我只使用一个文件
request.getFile('documentFile')

但是如果我尝试使用
request.getFileNames().each{obj->println(${obj}”);}

你想这样做吗

   <g:form action="save" method="post" enctype="multipart/form-data" >  
   <input type='file' name='documentFile.1' />  
   <input type='file' name='documentFile.2' />  
   <input type='file' name='documentFile.3' />  
   </g:form>  
你试试这个

request.fileNames.each {
   MultipartFile file = request.getFile(it)
   //File file = request.getFile(it)
   //do what you want
}

使用
request.fileNames.each{}
时仅收到第一个“documentFile”的原因可能重复,因为您的名称在表单中不唯一。吉内什的回答解决了这个问题;几个月前,当你问这个问题时,我也解决了这个问题。@Nightingal2K1新答案补充道:当我使用多重属性时,我无法让它工作<代码>
使用输入标记的多属性时,这是正确的解决方案。
request.getMultiFileMap().documentFile.each {
    println it.originalFilename
}
request.fileNames.each {
   MultipartFile file = request.getFile(it)
   //File file = request.getFile(it)
   //do what you want
}