3

When I use the 'multiple' attribute I can't get it to work:

<input type="file" id="files" name="files[]" multiple />

The controller action method body:

request.getFileNames().each {
    println it
}

The problem is that this iteration returns only one file. Can anyone help me to obtain all the files uploaded? (I'm using grails 2.0.3)

Cassio Landim
  • 1,929
  • 23
  • 25

3 Answers3

4

Grails 2 uses Spring 3 which uses the MultipartRequest class to handle this.

This class has a getFiles(String name) function which you can use in your case. So this will result in the following code:

request.getFiles("files[]").each { file ->
    log.debug(file.originalFilename)
}
Wytze
  • 1,525
  • 1
  • 11
  • 17
3

you have to get at the multiple file part of the request.

I think you can do

request.getMultiFileMap()

or

request.multiFileMap.documentFile
nate_weldon
  • 2,289
  • 1
  • 26
  • 32
1

I'm using this

request.multiFileMap.get("files[]")