2016-01-25 4 views
0

Я пытаюсь загрузить файл с помощью JQuery, который я буду использовать Ajax, чтобы перейти к .NETJQuery загрузить файл возвращает пустой

Вот что я на стороне 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 {}, и я не знаю почему.

ответ

1

Ваш код добавляется к объекту FormData правильно, но вам не хватает кода для извлечения значения переменной formData. Просто замените:

console.log(formData); 

с этим:

console.log(formData.getAll("file-0")); //Assuming 0 is one of your IDs 

Вы видите, FormData не Object Javascript, что вы можете просто записать его на консоль. Это browser built-in Object, поэтому его нужно обрабатывать как таковой.

Смежные вопросы