J'essaye de télécharger un fichier en utilisant XMLHttpRequest de HTML5.Problème avec HTML5 XHR FileUpload et ASP.Net
Voici mon code:
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]);
Du côté du serveur, je reçois 0
pour le Request.Files.Count
. Toutefois, si je lis le flux d'entrée, je reçois les en-têtes du fichier comme suit:
------WebKitFormBoundarylAWVSRo5qeSpsnzn Content-Disposition:
form-data; name="fileToUpload"; filename="a.txt" Content-Type:
application/octet-stream
Testing
------WebKitFormBoundarylAWVSRo5qeSpsnzn--
Le fichier téléchargé ne contient que le mot « test ».
Code Serveur:
Stream inputStream = Request.InputStream;
FileStream fileStream = new FileStream("c:\\test.txt", FileMode.OpenOrCreate);
inputStream.CopyTo(fileStream);
fileStream.Close();
Est-ce que je me manque dans mon client Javascript qui n'est pas peuplant le Request.Files objet sur le serveur? Ou est-il possible de lire uniquement le contenu du fichier sans les en-têtes?
Merci, cela fonctionne. Mais ne fonctionne pas dans IE, y compris IE 10 Platform Preview 2 !!! Merde IE. :( – Arun
De rien, IE a en effet un long chemin à parcourir (ce n'est pas étonnant). – BalusC