WebClient::UploadProgressChanged Event
Occurs when an asynchronous upload operation successfully transfers some or all of the data.
Assembly: System (in System.dll)
This event is raised each time an asynchronous upload makes progress. This event is raised when uploads are started using any of the following methods.
Method | Description |
|---|---|
Sends a Byte array to the resource, without blocking the calling thread. | |
Sends a local file to the resource, without blocking the calling thread. | |
Sends a NameValueCollection to the resource and returns a Byte array containing any response, without blocking the calling thread. |
The UploadProgressChangedEventHandler is the delegate for this event. The UploadProgressChangedEventArgs class provides the event handler with event data.
For more information about handling events, see NIB: Consuming Events.
The following code example demonstrates setting an event handler for this event.
// Sample call: UploadFileInBackground2("http://www.contoso.com/fileUpload.aspx", "data.txt") void UploadFileInBackground2( String^ address, String^ fileName ) { WebClient^ client = gcnew WebClient; Uri ^uri = gcnew Uri(address); client->UploadFileCompleted += gcnew UploadFileCompletedEventHandler (UploadFileCallback2); // Specify a progress notification handler. client->UploadProgressChanged += gcnew UploadProgressChangedEventHandler( UploadProgressCallback ); client->UploadFileAsync( uri, "POST", fileName ); Console::WriteLine( "File upload started." ); }
The following code example shows an implementation of a handler for this event.
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); } 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); }
Available since 2.0
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0