Grails 中的多个文件上传

Posted

技术标签:

【中文标题】Grails 中的多个文件上传【英文标题】:Multiple File Upload in Grails 【发布时间】:2012-04-26 16:36:37 【问题描述】:

我正在尝试将出色的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>

【问题讨论】:

【参考方案1】:

其实我想通了。表单中只有一个input[type=file],如果我选择多个文件,它们不会在同一个请求中发送。 query-file-upload 脚本发送与文件一样多的 POST 请求。这就是为什么request.getFileNames() 每次只给我一个条目。我设法创建了我的插件,它将很快发布。注意http://grails.org/plugin/bootstrap-file-upload。

【讨论】:

【参考方案2】:

request.getFileNames 返回一个数组 - 您可以遍历该数组以获取所有文件。该示例已经在插件描述中。

def all = request.getFileNames()
all.each name ->
   def file = request.getFile(name)

这应该会为您提供所有已上传的文件。

【讨论】:

以上是关于Grails 中的多个文件上传的主要内容,如果未能解决你的问题,请参考以下文章

Grails3文件上传maxFileSize限制

如何使用GoogleServiceAuthentication类将文件上传到Grails中的google存储?

Grails文件上传:视图渲染时如何设置输入文件的值

Grails 文件上传 - 如何识别文件和/或内容类型?

Grails JAX-RS REST 多部分文件上传

Grails 文件上传问题