ajax - 在grails Controller 中解析ajax多个文件上传

标签 ajax spring grails

我已经使用FormData()来上传多个文件。在浏览器控制台中,显示了文件列表,但在 Controller 内部,该列表以字符串格式显示为“[对象文件],[对象文件],[对象文件]”。如何解析其中的值?
我的JavaScript代码是:

var form = jQuery("#upload-form").find('input[type="file"]');
var picData = new FormData();
var fl = form.get(0).files.length;
var files = []; 

for (var i = 0; i < fl; i++) {

    files.push(form.get(0).files[i]);
    console.log(files); //The list files is shown
}

 picData.append("filesList[]",files);

jQuery.ajax({ 
   url: 'upload/fileSave',
   type: 'post',
   dataType:'json',
   data:picData,
   enctype:"multipart/form-data",
   contentType:false,
   processData:false,
   success: function(data) {
            }
});

我做了JSON.parse(params.filesList []),但它只输出“对象文件”字符串。在发送给 Controller 之前,应该在javascript中做点什么吗?

最佳答案

通常在 Controller 内部,您可以从请求中获取文件,如下所示:

File file    = request?.getFile('fileName')

但是在您的代码中,有多个文件,因此您可以迭代每个文件
File file0    = request?.getFile('filesList[0]')
File file1    = request?.getFile('filesList[1]')

关于ajax - 在grails Controller 中解析ajax多个文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43466284/

相关文章:

javascript - 单一函数中的多个 Promise 链

java - JAXB2Marshaller 没有将 xml 元素解码为字符

java - 注入(inject)属性文件覆盖应用程序中定义的属性文件

grails - 在Grails中安装APNS插件的MultipleCompilationErrorsException

Grails - 错误 fork Grails VM 因错误退出

jquery - 处理 Thymeleaf Spring MVC AJAX 表单及其错误消息的推荐方法

javascript - AJAX 调用成功后,Toastr Growl 未显示

grails - gorm标准可以受实现域类约束吗?

javascript - 即使在ajax提交后,jquery中的数组仍保留旧数据

java - 如何在Spring Controller 类中使用路径变量?