IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Comment télécharger un fichier xml


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Comment télécharger un fichier xml
    Bonjour,

    J'ai un fichier .xml sur le web server et je cherche à enregistrer sur le poste de travail de l'utilisateur.

    J'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Context.Response.Buffer = True
     Context.Response.Clear()
     Context.Response.AddHeader("content-disposition", "attachment; filename=a.xml")
     Context.Response.ContentType = "octet/stream"
     Context.Response.WriteFile("./a.xml")
    Tout ce passe bien, sauf que dans le fichier enregistré sur le poste de travail, il y a :
    - le contenu du fichier xml
    - suivi du code html de la page web à partir de laquelle le fichier est téléchargé

    J'ai essayé différents 'ContentType' sans que ça change quelque chose !

    Quelqu'un aurait-il une piste, voir une solution ?
    merci d'avance
    G

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Le problème de retrouver le code html de la page dans le fichier xml téléchargé, n'est pas lié au fait que ce soit un fichier xml.

    J'ai testé avec un fichier texte (sans xml à l'intérieur) et une extension de fichier différente de .xml et le problème reste le même : code de la page html dans le fichier téléchargé !

    Donc comment télécharger un fichier de format texte à partir d'une page aspx ?

  3. #3
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    Voila le code que j'ai utilisé pour forcer le téléchargement d'un fichier xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    /// <summary>
        /// Fonction qui permet de télécharger un fichier sur le serveur grâce a son url
        /// </summary>
        /// <param name="urlFichier">est le chemin du fichier sur le serveur</param>
        private void telechargement(string urlFichier)
        {
            // On récupère les informations sur le fichier
            FileInfo file = new FileInfo(urlFichier);
            // On efface le response
            Response.Clear();
            // On ajoute les entêtes pour le fichier
            Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
            Response.AddHeader("Content-Length", file.Length.ToString());
            Response.ContentType = "application/octet-stream";
            // On lance le téléchargement
            Response.WriteFile(file.FullName);
            // On ferme le response
            Response.Flush();
            Response.Close();
        }

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Un grand merci youtpout !

    le 'Content-Length' fait la différence ... et ça marche !

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    mais de rien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/12/2005, 20h07
  2. Réponses: 1
    Dernier message: 29/11/2005, 10h15
  3. Comment lire un fichier XML ?
    Par jeromelef dans le forum Débuter
    Réponses: 6
    Dernier message: 29/06/2005, 15h52
  4. Réponses: 4
    Dernier message: 23/06/2005, 12h44
  5. [C#] [XML] Comment créer un fichier XML
    Par pc152 dans le forum Windows Forms
    Réponses: 12
    Dernier message: 28/09/2004, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo