Téléchargement avec progressbar

Résolu
DrDree3 Messages postés 42 Date d'inscription samedi 26 mai 2012 Statut Membre Dernière intervention 25 décembre 2013 - 8 févr. 2013 à 22:24
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 25 avril 2019 à 21:26
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 !

7 réponses

Utilisateur anonyme
10 févr. 2013 à 20:56
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
1
Utilisateur anonyme
8 févr. 2013 à 23:00
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
0
DrDree3 Messages postés 42 Date d'inscription samedi 26 mai 2012 Statut Membre Dernière intervention 25 décembre 2013
8 févr. 2013 à 23:56
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 .
0
Utilisateur anonyme
9 févr. 2013 à 12:35
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DrDree3 Messages postés 42 Date d'inscription samedi 26 mai 2012 Statut Membre Dernière intervention 25 décembre 2013
10 févr. 2013 à 16:31
Pourrai tu me donner un bout de code car je ne comprend pas comment faire avec une listbox
merci
0
DrDree3 Messages postés 42 Date d'inscription samedi 26 mai 2012 Statut Membre Dernière intervention 25 décembre 2013
14 févr. 2013 à 22:29
Merci beaucoup , sa marche niquel !
0
Et le bout de code ?
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
25 avril 2019 à 21:26
BONJOUR

il y'a 2 choses importantes ici, être poli et ne pas avoir la flemme de lire un sujet complètement, surtout quand il n'y a que 6 messages....
0
Rejoignez-nous