Lire en anglais

Partager via


WebClient.DownloadProgressChanged Événement

Définition

Se produit lorsqu’une opération de téléchargement asynchrone transfère correctement certaines ou toutes les données.

C#
public event System.Net.DownloadProgressChangedEventHandler? DownloadProgressChanged;
C#
public event System.Net.DownloadProgressChangedEventHandler DownloadProgressChanged;

Type d'événement

Exemples

L’exemple de code suivant illustre la définition d’un gestionnaire d’événements pour l’événement DownloadProgressChanged.

C#
// Sample call : DownLoadFileInBackground4 ("http://www.contoso.com/logs/January.txt");
public static void DownLoadFileInBackground4(string address)
{
    WebClient client = new WebClient();
    Uri uri = new Uri(address);

    // Specify a DownloadFileCompleted handler here...

    // Specify a progress notification handler.
    client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressCallback4);

    client.DownloadFileAsync(uri, "serverdata.txt");
}

private static void DownloadProgressCallback4(object sender, DownloadProgressChangedEventArgs e)
{
    // Displays the operation identifier, and the transfer progress.
    Console.WriteLine("{0}    downloaded {1} of {2} bytes. {3} % complete...",
        (string)e.UserState,
        e.BytesReceived,
        e.TotalBytesToReceive,
        e.ProgressPercentage);
}

Remarques

Attention

WebRequest, HttpWebRequest, ServicePointet WebClient sont obsolètes et vous ne devez pas les utiliser pour le nouveau développement. Utilisez HttpClient à la place.

Cet événement est déclenché chaque fois qu’un téléchargement asynchrone progresse. Cet événement est déclenché lorsque les téléchargements sont démarrés à l’aide de l’une des méthodes suivantes.

Méthode Description
DownloadDataAsync Télécharge des données à partir d’une ressource et retourne un tableau Byte, sans bloquer le thread appelant.
DownloadFileAsync Télécharge les données d’une ressource vers un fichier local, sans bloquer le thread appelant.
OpenReadAsync Retourne les données d’une ressource, sans bloquer le thread appelant.

Le DownloadProgressChangedEventHandler est le délégué de cet événement. La classe DownloadProgressChangedEventArgs fournit au gestionnaire d’événements des données d’événement.

Pour plus d’informations sur la gestion des événements, consultez Gestion et déclenchement d’événements.

Note

Un transfert de fichier FTP passif affiche toujours un pourcentage de progression de zéro, car le serveur n’a pas envoyé la taille du fichier. Pour afficher la progression, vous pouvez modifier la connexion FTP en mode actif en remplaçant la méthode virtuelle GetWebRequest(Uri) :

C#
internal class MyWebClient : WebClientProtocol
{
    protected override WebRequest GetWebRequest(Uri address)
    {
        FtpWebRequest req = (FtpWebRequest)base.GetWebRequest(address);
        req.UsePassive = false;
        return req;
    }
}

S’applique à

Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1