我正在使用FormData上传多个文件在我的grails project.The文件需要通过Ajax上传。我在ajax上传中使用了以下代码。但在控制器中,我以对象FileList的形式获取参数。如何从该对象获取文件。有没有办法把这个对象改成multipart?
jQuery('#file-save').click(function() {
if (jQuery('#form input[type="file"]')) {
var form = jQuery("#form").find('input[type="file"]');
var picData = new FormData();
picData.append('userFiles', form.get(0).files);
picData.append('userId', '$usrId');
jQuery.ajax({
url: '/file/upload',
type: 'post',
dataType:'json',
data: picData,
enctype: "multipart/form-data",
contentType: false,
processData: false,
success: function(data) {
console.log("success");
}
});
}
});控制器代码为:
def upload(){
def userId = params.userId
def inputFile = params.userFiles
println(inputFile)
inputFile.each{i,j->
println(i)
println(j)
}
}当我调试时,我得到了params.userFiles:"object FileList“。任何真知灼见都将不胜感激。
发布于 2017-03-22 05:16:56
您很可能需要遍历文件客户端,为每个文件添加相同的键
var picData = new FormData();
// loop through form.get(0).files
picData.append('userFiles', file);
// end loop
picData.append('userId', '$usrId');https://stackoverflow.com/questions/42917781
复制相似问题