我正在尝试通过 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 返回 File {}
,我不知道为什么。
最佳答案
您的代码已正确附加到 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 ,因此需要这样处理。
关于javascript - jQuery 上传文件返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34999818/