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

C# Discussion :

Télécharger un fichier avec HttpWebResponse [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 218
    Par défaut Télécharger un fichier avec HttpWebResponse
    Bonjour à toutes et tous,

    J'ai une petite application à modifier et n'étant pas un grand spécialiste je souhaiterai avoir un peu d'aide, vos conseils, vos idées, vos solutions.

    Je suis sous Visual Studio 2015 en C#.

    Mon application se connecte à un site https, envois des informations et des fichiers. Jusqu'à présent j'avais un retour assez simple (xmldocument), mais certains changements font que maintenant je vais devoir gérer un retour d'un fichier .zip

    J'aurai besoin de votre aide pour savoir quel code (fonction, procédure), je vais devoir utiliser pour récupérer ce fichier et l'enregistrer sur mon disque.

    Un petit bout de code pour mon retour actuel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
    ...
    XmlDocument doc = new XmlDocument();
    doc.Load(response.GetResponseStream());
    ...

    D'avance merci.

    Bonne continuation.
    D.

  2. #2
    Expert confirmé

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
    using (Stream file = File.Create(filename))
    {
        response.GetResponseStream().CopyTo(file);
    }

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 218
    Par défaut
    Bonjour Monsieur Dorin,

    Merci pour votre réponse.

    Pour l'instant je ne sais pas encore la tester, car le site distant n'est pas encore en fonction, mais dès que j'arrive à faire des tests, je mettrai ce post comme résolu (si c'est le cas), sinon, je me permettrai de continuer cette discussion.

    Encore merci de votre aide.

    bàv,
    D.

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 218
    Par défaut
    Bonjour,

    J'avais une petite demande pour faire suite à cette discussion.

    Quelle est la différence et/ou l'impact de l'utilisation de la solution proposée par rapport à la suivante :

    1er proposition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
    using (Stream file = File.Create(filename))
    {
        response.GetResponseStream().CopyTo(file);
    }
    ...
    2e idée :

    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
     
    ...
    Dim Reponse As HttpWebResponse = web.GetResponse()
    Dim xbuffer(4096) as Byte
    Dim fichier As String = "C:\......MonFichier.zip"
    Dim ind As Integer = 0
    Dim xStream As Stream = Response.GetResponseStream();
    Dim xFileStream As New FileStream(fichier, FileMode.Create, FileAccess.Write)
     
    Do
         ind = xstream.Read(xbuffer, 0, 4096)
         xFileStream.Write(xbuffer, 0, ind)
    Loop While ind >0
     
    xFileStream.Close()
    ...
    D'avance merci.


    Cordialement,
    D.

  5. #5
    Expert confirmé

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par tripper.dim Voir le message
    Quelle est la différence et/ou l'impact de l'utilisation de la solution proposée par rapport à la suivante
    En terme de différence, si ce n'est le nombre de lignes, il n'y en a pas (la méthode CopyTo doit être plus ou moins implémentée ainsi).

    En terme d'impact, la première solution requiert un framework .Net 4.0 ou supérieur. La seconde est compatible avec toutes les versions du framework .Net.

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 218
    Par défaut
    Monsieur Dorin,

    Merci pour les explications. Je vais donc utiliser la 1er solution (pour le nombre de ligne )

    Belle journée et bonne continuation.


    Bien à vous,
    D.

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

Discussions similaires

  1. Télécharger un fichier avec Indy et SSL
    Par [DreaMs] dans le forum Web & réseau
    Réponses: 7
    Dernier message: 15/11/2007, 14h27
  2. Réponses: 1
    Dernier message: 25/10/2007, 13h02
  3. Télécharger plusieurs fichiers avec Wget
    Par Guilhem_mdg dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 21/02/2007, 16h12
  4. [VB6] Télécharger un fichier avec progression
    Par tebonb dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/12/2005, 18h34

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