2014-01-24 1 views
2

Я проверил несколько артикулов, и я не могу успешно отправить файл на сервер с помощью XMLHttpRequest и объекта FormData.Как отправить файл на сервер с использованием XMLHttpRequest и formdata

Когда я отлаживать код С # .net в PageLoad в upload.aspx файл файлы свойств объекта запроса всегда имеет счетчик 0.

Какую часть я отсутствующий, так что я могу отправить файлы на сервер асинхронно?

--html

<input type="file" id="upload" accept="image/*" onchange="handleFile(this.files)" name="file" /> 

--js

function handleFile(files) { 

    var fileReader = new FileReader(); 
    var file = files[0]; 
    var imageElem = document.createElement("img"); 
    debugger 
    fileReader.onload = (function (img) { return function (e) { img.src = e.target.result; }; })(imageElem); 

    fileReader.readAsDataURL(file); 

    document.getElementById("images").appendChild(imageElem); 

    uploadFile(file); 
} 

function uploadFile(file) { 
    debugger 
    var formData = new FormData(); 
    formData.append("file", file); 
    var xhr = new XMLHttpRequest(); 
    xhr.open("POST", "/upload.aspx", true); 
    xhr.setRequestHeader("Content-Type", "multipart/form-data"); 
    xhr.setRequestHeader("X-File-Name", file.name); 
    xhr.setRequestHeader("X-File-Size", file.size); 
    xhr.setRequestHeader("X-File-Type", file.type); 
    xhr.send(formData); 
} 

# -С

protected void Page_Load(object sender, EventArgs e) 
{ 
    HttpPostedFile file = null; 
    if (Request.Files.Count > 0) 
    { 
     file = Request.Files[0]; 
     //file.SaveAs(Server.MapPath("~/myfile.txt")); 
    } 
} 

--SnapShot

The File Being Posted

The Request.Files Object Count


-------------------- нашел ответ здесь ------- ----------------------------

File API File Upload - Read XMLHttpRequest in ASP.NET MVC

ответ

0

Вам нужно только, чтобы удалить эту строку кода:

xhr.setRequestHeader("Content-Type", "multipart/form-data"); 

Надеюсь, это поможет!

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

  • Нет связанных вопросов^_^