我正在尝试通过jQuery上传文件,我将使用ajax传递给.NET
以下是我在jQuery方面的内容:
$("#attachmentItem-" + this.id).html('<input type="file" name="file" id="file-' + this.id + '" /><br/><input type="submit" value="Upload File" id="upload-' + this.id + '" />');
var id = this.id;
$("input[id=upload-" + this.id + "]").bind('click', function () {
var formData = new FormData();
var totalFiles = document.getElementById("file-" + id).files.length;
for (var i = 0; i < totalFiles; i++) {
var file = document.getElementById("file-" + id).files[i];
console.log(file);
formData.append("file-" + id, file);
}
console.log(formData);
});
formData返回FormData {}
,文件返回File {}
,我不知道为什么。
答案 0 :(得分:1)
您的代码正确附加到FormData对象,但您在代码中缺少用于获取formData
变量的值。只需替换:
console.log(formData);
用这个:
console.log(formData.getAll("file-0")); //Assuming 0 is one of your IDs
您看,FormData
不是javascript Object
,您可以将其写入控制台。它是browser built-in Object,因此需要按原样处理。