How to upload multiple files in grails

I have a form containing multi file upload like this

<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> 

the user can add more if necessary ... how to get each file using iterators?

if you use only one request.getFile('documentFile'); file request.getFile('documentFile'); but if I tried with request.getFileNames().each{obj -> println("${obj}"); } request.getFileNames().each{obj -> println("${obj}"); } , I received only the first.

+6
file-upload grails
source share
3 answers
 request.getMultiFileMap().documentFile.each { println it.originalFilename } 
+8
source share

Do you want to do it like this

  <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> 

In your controller

 def files = [] params.documentFile.each { files.add(it.value) } 
+4
source share

Are you trying to use this

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

All Articles