Я пытаюсь загрузить файл, используя HTML5 XMLHttpRequest.
Вот мой код:
var xhr = new XMLHttpRequest();
xhr.open("POST", "receive.aspx", true);
//xhr.setRequestHeader("Content-Type", "multipart/form-data");
xhr.setRequestHeader("Content-Type", "application/octet-stream");
xhr.send($("#fileobject").files[0]);
На стороне сервера я получаю 0
для Request.Files.Count
. Однако, если я читаю поток ввода, я получаю заголовки файла следующим образом:
------WebKitFormBoundarylAWVSRo5qeSpsnzn Content-Disposition:
form-data; name="fileToUpload"; filename="a.txt" Content-Type:
application/octet-stream
Testing
------WebKitFormBoundarylAWVSRo5qeSpsnzn--
Загруженный файл содержит только слово «Тестирование».
Код сервера:
Stream inputStream = Request.InputStream;
FileStream fileStream = new FileStream("c:\\test.txt", FileMode.OpenOrCreate);
inputStream.CopyTo(fileStream);
fileStream.Close();
Есть ли что-то, чего мне не хватает в моем клиентском Javascript, который не заполняет объект Request.Files на сервере? Или есть ли способ прочитать только содержимое файла без заголовков?