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

Contribuez .NET Discussion :

[D1] Comment télécharger un fichier depuis internet avec ProgressBarr ?


Sujet :

Contribuez .NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 43
    Points : 41
    Points
    41
    Par défaut [D1] Comment télécharger un fichier depuis internet avec ProgressBarr ?
    Bonjour,

    Voila j'ai trouvé ce code dans la FAQ et je souhaiterai le modifier pour telecharger un fichier de type *.zip

    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
    22
    23
    24
    25
    26
    27
     
    ProgressBar1.Visible = true;
    ProgressBar1.Minimum = 1;
    ProgressBar1.Value = 1;
    ProgressBar1.Step = 1024;
     
    MemoryStream MemoryStreamImage = new MemoryStream();
     
    WebRequest myWebRequest = WebRequest.Create(TextBox1.Text);
    WebResponse myWebResponse = myWebRequest.GetResponse(); 
    ProgressBar1.Maximum = Convert.ToInt32
    (myWebResponse.ContentLength);
     
    Stream StreamImage = myWebResponse.GetResponseStream();
    byte[] b = new byte[1024];
    int bytesRead = 0;
    int bytesReadTotal = 0;
    while ((bytesRead = StreamImage.Read(b, 0, b.Length)) > 0)
    {
       MemoryStreamImage.Write(b, 0, b.Length);
       bytesReadTotal += bytesRead;
       ProgressBar1.PerformStep();
    }
    StreamImage.Close();
    PictureBox1.Image = new Bitmap(MemoryStreamImage);
    MemoryStreamImage.Close();
    myWebResponse.Close();
    J'ai bien essayé plusieurs possibilités mais sans succes je suis un peu nul dans ce genre de code..

    Merci à vous pour vos réponses.

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    J'avoue que le titre de ton post n'aide pas vraiment à comprnedre ton souci, ni ce que tu donnes comme infos car quel est ton souci au fait
    J'ai bien essayé plusieurs possibilités mais sans succes
    C'est à dire ?
    Est-ce le ProgressBar qui ne fonctionne pas comme tu le souhaites ?
    As-tu un message d'exception levé et dans ce cas lequel exactement ?
    Ce code est-il le tien ou as-tu simplement recopier celui de la FAQ en attendant qu'on complète par "Comment dezipper un .zip" ?
    Pour ce dernier point es-tu sous le Framework 1.xxx ou 2.0 ?

    à toi de nous détailler ton besoin
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 43
    Points : 41
    Points
    41
    Par défaut
    En fait j'avais des problemes surtout pour télécharger un fichier depuis internet.. car je suis pas très a l'aise avec le buffer..

    Mais bon après plusieurs heures de recherche intensive j'ai fini par trouver mon bonheur et resoudre mon probleme.
    Désolé pour le dérangement
    Je peux mettre mon code si ca peut aider....

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par el_filosof
    En fait j'avais des problemes surtout pour télécharger un fichier depuis internet.. car je suis pas très a l'aise avec le buffer..

    Mais bon après plusieurs heures de recherche intensive j'ai fini par trouver mon bonheur et resoudre mon probleme.
    Désolé pour le dérangement
    Je peux mettre mon code si ca peut aider....
    ok çà peut toujours servir, faut voir
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 43
    Points : 41
    Points
    41
    Par défaut
    donc voici le code pour faire ceci:
    Variable global:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    private WebClient _ClientWeb;
    private string _NomFichier;

    Puis le code general
    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
     
    try
    {
     
       this._NomFichier = Path.GetFileName("http://.../monfichier.zip");
       Uri LienFormate = new Uri("http://.../monfichier.zip");
       _ClientWeb = new WebClient();
       _ClientWeb.DownloadFileCompleted += new syncCompletedEventHandler
    (ProgressBarCompleted);
       _ClientWeb.DownloadProgressChanged += new
     DownloadProgressChangedEventHandler(ProgressBar);
       _ClientWeb.DownloadFileAsync(LienFormate,
     Environment.CurrentDirectory + "\\" + this._NomFichier);
     
    }
    catch (Exception ex)
    {
         MessageBox.Show("La téléchargement du zip à échoué.\nErreur : " +
     ex.Message);
    }
    Puis le code qui gère la progressbarr
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void ProgressBar(object sender,  DownloadProgressChangedEventArgs e)
    {
       this.ProgressBar1.Value = e.ProgressPercentage;           
    }
    Et pour finir le code quand le telechargement est fini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void ProgressBarCompleted(object sender, AsyncCompletedEventArgs e)
    {
       this.ProgressBar1.Value = 0;
    }
    Voila si ca peut aider quelqu'un

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    de votre contribution
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/03/2012, 10h19
  2. Télécharger un fichier depuis internet vers le PC
    Par henrietd dans le forum VBScript
    Réponses: 2
    Dernier message: 13/11/2007, 23h04
  3. Comment télécharger un fichier depuis internet.
    Par horneth dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 18/08/2006, 12h36
  4. [WebForms]Comment télécharger un fichier depuis le serveur ?
    Par pepin21 dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 26/04/2006, 16h26
  5. Télécharger un fichier depuis internet
    Par NotANumber dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 18/11/2005, 20h44

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