Как получить несколько выбранных файлов в Grails?

Я пытаюсь получить несколько выбранных файлов и сохранить их в mysql.

КОД ВСП:

<input type="file" name="file_attachemnt" id="file_attachemnt" multiple/>

Код контроллера Для получения нескольких файлов

def all = request.getFileNames()

        all.each {name ->
           def file = request.getFile(name)
           def CommonsMultipartFile uploadedFile =file
           def fileName = uploadedFile.originalFilename
           println "file name "+fileName;
           def fileExtent=FilenameUtils.getExtension(fileName);
        }

Но на стороне контроллера я получаю только один файл ... даже если я выбрал, например, 3 файла


person SAGAR MANE    schedule 25.03.2014    source источник


Ответы (2)


Попробуйте это. Не уверен, но я не думаю, что многое изменилось со времен 1.3.x, и там это работает.

request.getMultiFileMap().file_attachemnt.each {
    println it.originalFilename
}
person Joshua Moore    schedule 25.03.2014
comment
на вопрос .. как получить этот файл - person SAGAR MANE; 25.03.2014
comment
Экземпляр в этой коллекции представляет собой MultPartFile. Подробнее об этом можно узнать здесь: docs.spring.io/spring/docs/1.2.x/api/org/springframework/web/ Обычно вы будете использовать transferTo для записи в файл. - person Joshua Moore; 25.03.2014
comment
как проверить ..file_attachment в этом коде имеет значение null .. потому что прямо сейчас .. если я не выбираю файл, то он все равно попадает под это условие .. - person SAGAR MANE; 26.03.2014
comment
В соответствии с документацией API вы можете использовать it.isEmpty(), чтобы увидеть, является ли загруженный файл пустым, то есть либо файл не был выбран в составной форме, либо выбранный файл не имеет содержимого. - person Joshua Moore; 26.03.2014
comment
Действительно большое спасибо :) - person SAGAR MANE; 27.03.2014

Попробуйте этот код

params.list("file_attachemnt").each{
// your code here
}
person R. S.    schedule 26.03.2014