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)

1
  • 1
    Looks like similar to this Commented May 3, 2012 at 8:42

3 Answers 3

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)
}
Sign up to request clarification or add additional context in comments.

Comments

3

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

I think you can do

request.getMultiFileMap()

or

request.multiFileMap.documentFile

2 Comments

How is this working? I am getting exception that those methods do not exist.
I had to add if(request instanceof MultipartHttpServletRequest){} on my controller
1

I'm using this

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.