Téléchargement avec progressbar [Résolu]

DrDree3 42 Messages postés samedi 26 mai 2012Date d'inscription 25 décembre 2013 Dernière intervention - 8 févr. 2013 à 22:24 - Dernière réponse : DrDree3 42 Messages postés samedi 26 mai 2012Date d'inscription 25 décembre 2013 Dernière intervention
- 14 févr. 2013 à 22:29
Bonjour , je suis en train de créer un programme permettant de créer un serveur CraftBukkit (equivalent au serveur Minecraft), le programme doit télécharger des fichier , et c'est cela qui pose problème , je cherche un moyen simple de télécharger des fichiers par Url
voici ce que j'ai utilisé mais le fichier ne se télécharger pas ! :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        
            Dim download = New WebClient
        download.DownloadFileAsync(New Uri("http://habdo.comze.com/web_documents/EssentialsSpawn.jar"), "EssentialsSpawn.jar") 'a partir d'ici le fichier ne se télécharge pas !
            TextBox3.Text = "Téléchargement du serveur CraftBukkit ..."


    End Sub
    Public WithEvents download As WebClient
    Private Sub download_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles download.DownloadProgressChanged
        ProgressBar1.Value = e.ProgressPercentage

    End Sub
    Private Sub download_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles download.DownloadFileCompleted

        ProgressBar1.Value = 0
        TextBox3.Text = (TextBox3.Text & Environment.NewLine & "Téléchargement du pluggin EssentialsSpawn")
        Dim download2 = New WebClient 'ici on lance un autre téléchargement
        download2.DownloadFileAsync(New Uri("http://habdo.comze.com/web_documents/EssentialsSpawn.jar"), TextBox4.Text)

    End Sub


Merci !
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Utilisateur anonyme - 10 févr. 2013 à 20:56
1
Merci
Bon parce que c'est toi et que c'était noël il n'y a pas longtemps, voici un copier-coller d'un de mes anciens posts adapté à ton cas :
Option Strict On
Imports System.Net

Public Class Form1
    'déclaration d'un webclient
    Dim WithEvents download As New WebClient
    'déclaration d'une liste qui contient les url a telecharger
    Dim MaListe As New List(Of String)
    'déclaration d'un progressbar ajouté au form
    Dim prgBar As New ProgressBar With {.Parent Me, .Width 200}

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'bon évidemment là tu changes tes adresses
        MaListe.Add("http://habdo.comze.com/web_documents/EssentialsSpawn.jar")
        MaListe.Add("http://habdo.comze.com/web_documents/EssentialsSpawn.jar")
        MaListe.Add("http://habdo.comze.com/web_documents/EssentialsSpawn.jar")
        'téléchargement asynchrone du premier fichier de la liste
        download.DownloadFileAsync(New Uri(MaListe(0)), MaListe(0).Substring(MaListe(0).LastIndexOf("/") + 1))
        'effacement du premier fichier dans la liste
        MaListe.RemoveAt(0)
    End Sub

    Private Sub download_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles download.DownloadProgressChanged
        'progressbar mis a jour
        prgBar.Value = e.ProgressPercentage
    End Sub

    Private Sub download_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles download.DownloadFileCompleted
        'si la liste est vide on arrête
        If MaListe.Count = 0 Then Exit Sub
        ' (voir commentaires ci-dessus)
        download.DownloadFileAsync(New Uri(MaListe(0)), MaListe(0).Substring(MaListe(0).LastIndexOf("/") + 1))
        MaListe.RemoveAt(0)
    End Sub
End Class

Merci Utilisateur anonyme 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 8 févr. 2013 à 23:00
0
Merci
Bonsoir,

Quel est le message d'erreur rencontré ?

Remarque :
On ne redimensionne pas une variable deux fois. On fait comme ceci :
Public WithEvents download As WebClient
'...
download = new WebClient
Commenter la réponse de Utilisateur anonyme
DrDree3 42 Messages postés samedi 26 mai 2012Date d'inscription 25 décembre 2013 Dernière intervention - 8 févr. 2013 à 23:56
0
Merci
Enfaite il n'y a pas de message d'erreur , il ne se produit rien tout simplement , mais la je vien de réussir a télécharger le premier fichier , mais après je voudrai que le programme télécharge automatiquement les autres fichier un à un , en tout il y en a 8 .
Merci .
Commenter la réponse de DrDree3
Utilisateur anonyme - 9 févr. 2013 à 12:35
0
Merci
Utilise une List(Of String) dans laquelle tu ajoutes (Add) les adresses de tes fichiers.
Il est inutile de créer une nouvelle instance de WebClient comme tu l'as fait (download2). Dans l'événement DownloadFileCompleted, ton objet 'download' pourra télécharger le fichier suivant de ta List(Of String)
Commenter la réponse de Utilisateur anonyme
DrDree3 42 Messages postés samedi 26 mai 2012Date d'inscription 25 décembre 2013 Dernière intervention - 10 févr. 2013 à 16:31
0
Merci
Pourrai tu me donner un bout de code car je ne comprend pas comment faire avec une listbox
merci
Commenter la réponse de DrDree3
DrDree3 42 Messages postés samedi 26 mai 2012Date d'inscription 25 décembre 2013 Dernière intervention - 14 févr. 2013 à 22:29
0
Merci
Merci beaucoup , sa marche niquel !
Commenter la réponse de DrDree3

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.