2012-05-03 23 views
3

Когда я использую «несколько» атрибут не могу заставить его работать:Multiple загрузить файл ввода типа в Граалей

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

Тело метод действия контроллера:

request.getFileNames().each { 
    println it 
} 

Проблема заключается в том что эта итерация возвращает только один файл. Может ли кто-нибудь помочь мне получить все загруженные файлы? (Я использую grails 2.0.3)

+1

Похоже, похож на [это] (http://stackoverflow.com/questions/10155645/multiple-file -upload-in-grails) –

ответ

3

вам нужно получить в нескольких файлах часть запроса.

Я думаю, что вы можете сделать

request.getMultiFileMap() 

или

request.multiFileMap.documentFile 
+0

Как это работает? Я получаю исключение, что эти методы не существуют. – Giannis

+0

Мне пришлось добавить \t \t if (request instanceof MultipartHttpServletRequest) {} на моем контроллере – Giannis

4

Grails 2 использует Spring 3, который использует MultipartRequest класс справиться с этим.

Этот класс имеет функцию getFiles (String name), которую вы можете использовать в своем случае. Таким образом, это приведет к следующему коду:

request.getFiles("files[]").each { file -> 
    log.debug(file.originalFilename) 
} 
1

Я использую этот

request.multiFileMap.get("files[]") 
Смежные вопросы