我正在尝试将优秀的jquery-file-upload from blueimp集成到Grails 2.0中,并为此编写一个新的插件。我知道有already a plugin,但它没有使用资源,并且9个月内没有更新,并且jquery-file-upload在那段时间内发生了很大的变化。
所以我把发行版的所有文件放在我的插件中,现在我正在尝试编写一个可以处理上传的控制器动作。问题是request.getFileNames()
只给了我一个files[]
条目,我不知道如何检索我上传的3个单独文件。
如何处理输入发送的文件,如下所示:<input type="file" name="files[]" multiple>
?
答案 0 :(得分:4)
其实我弄清楚了。表单中只有一个input[type=file]
,如果我选择多个文件,则不会在同一请求中发送它们。 query-file-upload
脚本发送与文件一样多的POST请求。这就是request.getFileNames()
每次只给我一个条目的原因。我设法创建了我的插件,它很快就会发布。注意http://grails.org/plugin/bootstrap-file-upload。
答案 1 :(得分:2)
request.getFileNames
返回一个数组 - 您可以遍历此数组以获取所有文件。该示例已经存在于插件描述中。
def all = request.getFileNames()
all.each {name ->
def file = request.getFile(name)
}
这应该会为您提供上传的所有文件。