Загрузка файлов с помощью перетаскивания HTML5 в Asp.net
Я пытаюсь загрузить файл, используя HTML5 's DnD и File API. Я не уверен, как отправить данные формы на сервер, я пытался отправить с использованием XMLHttpRequest, но не удалось. Это то, что у меня так далеко.
<br>
Drop files here <br>
if (window.File && window.FileList && window.FileReader) {
var dropZone = document.getElementById('drop_area');
dropZone.addEventListener('dragover', handleDragOver, false);
dropZone.addEventListener('drop', handleDnDFileSelect, false);
}
else {
alert('Sorry! this browser does not support HTML5 File APIs.');
}
var files;
function handleDragOver(event) {
event.stopPropagation();
event.preventDefault();
var dropZone = document.getElementById('drop_zone');
dropZone.innerHTML = "Drop now";
}
function handleDnDFileSelect(event) {
event.stopPropagation();
event.preventDefault();
/* Read the list of all the selected files. */
files = event.dataTransfer.files;
/* Consolidate the output element. */
var form = document.getElementById('form1');
var data = new FormData(form);
for (var i = 0; i < files.length; i++) {
data.append(files[i].name, files[i]);
}
var xhr = XMLHttpRequest();
xhr.open("POST", "Upload.aspx"); //Wrong ? not sure.
xhr.setRequestHeader("Content-type", "multipart/form-data");
xhr.send(data);
}
C #:
HttpFileCollection fileCollection = Request.Files;
for (int i = 0; i < fileCollection.Count; i++)
{
HttpPostedFile upload = fileCollection[i];
string filename ="c:\\Test\\" + upload.FileName;
upload.SaveAs(filename);
}
Я знаю, что у меня есть кнопка в пользовательском интерфейсе, в настоящее время я не использую. Но, как вы можете видеть, я пытаюсь отправить запрос, используя XMLHttpRequest. Может кто-нибудь предложить мне, как я могу продолжить. Но мой серверный код никогда не выполняется, я не уверен, был ли XMLHttpRequest успешным.