У меня есть форма, которая содержит несколько файлов для загрузки как этогокак загружать несколько файлов в Грааль
<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>
пользователя может добавить больше, если нужно ... как получить каждый файл, используя итераторы?
если только один файл я использую request.getFile('documentFile');
, но если бы я попытался с request.getFileNames().each{obj -> println("${obj}"); }
я только получил первый ..
возможно дубликат [Как итерацию через загруженные файлы в Grails] (http://stackoverflow.com/questions/3710232/how-to-iterate-over-uploaded-files-in-grails) – 2010-12-10 16:41:08
причина, по которой вы получили только первый «documentFile» при использовании `request.fileNames.each {}`, потому что ваши имена не уникальны в вашей форме. Ответ Джинеша фиксирует это; Я также обратился к этому, когда вы задали этот вопрос пару месяцев назад. – 2010-12-10 16:43:24
@ nightingale2k1 новый ответ добавлен – 2014-03-25 08:58:09