Grails和表单输入多个

时间:2013-10-28 10:49:12

标签: grails image-uploading

我没有在文档中找到关于此的部分,所以如果有人可以帮助我,我会很高兴=)

我在我的页面上有这个表单上传多张图片,使用多个作为我的输入:

<g:uploadForm controller="photo" action="add" autocomplete="off"> 

    <label for="files">Files to upload:</label>
    <input type="file" id="files" name="files" multiple="multiple" />
    <input type="hidden" id="MAX_FILE_SIZE" name="MAX_FILE_SIZE" value="300000" />
    <g:submitButton name="add" class="save button medium" value="ADD" />

</g:uploadForm>

现在,我不知道如何在控制器中“分离”文件。

对于一个文件,使用request.getFile(..)是可以的,但是如何处理我的字段的“multiple”属性?

感谢阅读,

亚历山大

2 个答案:

答案 0 :(得分:2)

您可以在控制器中执行此操作:

List fileList = request.getFiles('files') // 'files' is the name of the input
fileList.each { file ->
    println 'filename: ' + file.getOriginalFilename() 
}

request.getFiles(<param>)返回CommonsMultipartFile个对象的列表。您可以使用这些对象来获取文件名(如示例中所示)或文件内容(file.getInputStream()

答案 1 :(得分:0)

你得到了答案,但这仅仅是为了记录

request.multiFileMap?.each { name, map -> //do the logic }