У меня есть приложение ASP.NET MVC. Я пытаюсь позволить пользователю загружать файлы на сервер. Мне нужно использовать HTML 5 File API. В настоящее время у меня есть следующий код:
<div><input id="filesToUpload" type="file" multiple="multiple" /></div>
<div><input type="button" value="upload" onclick="return uploadFiles();" /></div>
function uploadFiles() {
var files = null; // How do I get the files collection from "filesToUpload" here?
if ((files == null) || (files.length)) {
alert("Please choose at least one file to upload.");
return;
}
for (var i = 0, f; f = files[i]; i++) {
var reader = new FileReader();
reader.readAsBinaryString(f);
uploadFile(reader.result);
}
}
function uploadFile(f) {
// TODO: I'm not sure how to finish my actual AJAX request to post the file back to the server.
$.ajax({
url: "/uploadFile",
type: "PUT",
contentType: "application/json",
success: function (result) {
alert("File Uploaded!");
},
error: function (p1, p2, p3) {
alert("Upload Failed");
}
});
}
Как видно из кода, у меня есть пробелы в знаниях, которые я пытаюсь заполнить.
Как получить коллекцию файлов из HTML-файла "filesToUpload"
элемент через JQuery? Причина, по которой я хочу этот подход, состоит в том, что я делаю
не хотите начинать загрузку, пока пользователь фактически не нажмет
Кнопка «Загрузить», показанная ниже.
Что мне указать в качестве значения «data» в моей попытке $ .ajax?
Каким должен быть contentType в моей попытке $ .ajax?
Большое спасибо за помощь!