Quoi qu'il en soit, j'essaie de télécharger un fichier depuis le navigateur, puis de le lire dans un objet XmlDocument sur le serveur. À l'origine, j'ai craqué cela en sauvegardant le fichier sur le disque, en le lisant dans l'objet XmlDocument, puis en supprimant le fichier. Le seul problème était que l'action de suppression essayait d'avoir lieu avant que l'action XmlDocument.Load
soit terminée. De toute façon, c'était comme une solution laide, alors c'était heureusement abandonné.Chargement du fichier XML envoyé dans l'objet XmlDocument
Ensuite, l'effort était de lire directement à partir du Request.Files[x].InputStream
directement dans le XmlDocument, mais j'ai des problèmes. Le code suivant échoue avec un
« élément racine est manquant »
Je sais que le XML est valide il doit être autre chose.
foreach (string file in Request.Files)
{
HttpPostedFileBase postedFile = Request.Files[file] as HttpPostedFileBase;
if (postedFile.ContentLength > 0) //if file not empty
{
//create an XML object and load it in
XmlDocument xmlProjPlan = new XmlDocument();
Stream fileStream = postedFile.InputStream;
byte[] byXML = new byte[postedFile.ContentLength];
fileStream.Read(byXML, 0, postedFile.ContentLength);
xmlProjPlan.Load(fileStream);
}
}
Merci pour la note sur la validation ContentType - me sauve l'essayer et attraper le code que j'avais mis en place pour cela. – JonRed
Hey mec; Merci pour la réponse que cela m'a aidé .... Mais j'ai copié et collé votre code et a été passé quelques heures pourquoi ne fonctionne pas. J'ai finalement trouvé que vous avez écrit: "mutipart" au lieu de "multipart". Si vous éditez ce post serait bien pour les autres. – freewill
@freewill, bon endroit. J'ai mis à jour ma réponse. Merci de l'avoir signalé. –