Прочитать на английском

Поделиться через


WebClient.UploadProgressChanged Событие

Определение

Происходит, когда асинхронная операция отправки успешно передает некоторые или все данные.

C#
public event System.Net.UploadProgressChangedEventHandler? UploadProgressChanged;
C#
public event System.Net.UploadProgressChangedEventHandler UploadProgressChanged;

Тип события

Примеры

В следующем примере кода показано, как задать обработчик событий для этого события.

C#
// Sample call: UploadFileInBackground2("http://www.contoso.com/fileUpload.aspx", "data.txt")
public static void UploadFileInBackground2(string address, string fileName)
{
    WebClient client = new WebClient();
    Uri uri = new Uri(address);

    client.UploadFileCompleted += new UploadFileCompletedEventHandler(UploadFileCallback2);

    // Specify a progress notification handler.
    client.UploadProgressChanged += new UploadProgressChangedEventHandler(UploadProgressCallback);
    client.UploadFileAsync(uri, "POST", fileName);
    Console.WriteLine("File upload started.");
}

В следующем примере кода показана реализация обработчика для этого события.

C#
private static void UploadProgressCallback(object sender, UploadProgressChangedEventArgs e)
{
    // Displays the operation identifier, and the transfer progress.
    Console.WriteLine("{0}    uploaded {1} of {2} bytes. {3} % complete...",
        (string)e.UserState,
        e.BytesSent,
        e.TotalBytesToSend,
        e.ProgressPercentage);
}
private static void DownloadProgressCallback(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);
}

Комментарии

Внимание!

WebRequest, HttpWebRequest, ServicePointи WebClient устарели, и их не следует использовать для новой разработки. Вместо этого используйте HttpClient.

Это событие возникает при каждом выполнении асинхронной отправки. Это событие возникает при запуске отправки с помощью любого из следующих методов.

Метод Описание
UploadDataAsync Отправляет массив Byte в ресурс, не блокируя вызывающий поток.
UploadFileAsync Отправляет локальный файл в ресурс, не блокируя вызывающий поток.
UploadValuesAsync Отправляет NameValueCollection в ресурс и возвращает массив Byte, содержащий любой ответ, не блокируя вызывающий поток.

UploadProgressChangedEventHandler является делегатом для этого события. Класс UploadProgressChangedEventArgs предоставляет обработчик событий данными о событиях.

Дополнительные сведения об обработке событий см. в обработке и вызове событий.

Применяется к

Продукт Версии
.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