WebClient.UploadProgressChanged Händelse
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Inträffar när en asynkron uppladdningsåtgärd överför vissa eller alla data.
public:
event System::Net::UploadProgressChangedEventHandler ^ UploadProgressChanged;
public event System.Net.UploadProgressChangedEventHandler? UploadProgressChanged;
public event System.Net.UploadProgressChangedEventHandler UploadProgressChanged;
member this.UploadProgressChanged : System.Net.UploadProgressChangedEventHandler
Public Custom Event UploadProgressChanged As UploadProgressChangedEventHandler
Public Event UploadProgressChanged As UploadProgressChangedEventHandler
Händelsetyp
Exempel
I följande kodexempel visas hur du anger en händelsehanterare för den här händelsen.
// 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." );
}
// 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.");
}
' Sample call: UploadFileInBackground2("http:' www.contoso.com/fileUpload.aspx", "data.txt")
Public Shared Sub UploadFileInBackground2(ByVal address As String, ByVal fileName As String)
Dim client As WebClient = New WebClient()
Dim uri as Uri = New Uri(address)
AddHandler client.UploadFileCompleted, AddressOf UploadFileCallback2
' Specify a progress notification handler.
AddHandler client.UploadProgressChanged, AddressOf UploadProgressCallback
client.UploadFileAsync(uri, "POST", fileName)
Console.WriteLine("File upload started.")
End Sub
I följande kodexempel visas en implementering av en hanterare för den här händelsen.
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);
}
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);
}
Private Shared Sub UploadProgressCallback(ByVal sender As Object, ByVal e As UploadProgressChangedEventArgs)
' Displays the operation identifier, and the transfer progress.
Console.WriteLine("{0} uploaded {1} of {2} bytes. {3} % complete...", _
CStr(e.UserState), e.BytesSent, e.TotalBytesToSend, e.ProgressPercentage)
End Sub
Private Shared Sub DownloadProgressCallback(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs)
' Displays the operation identifier, and the transfer progress.
Console.WriteLine("{0} downloaded {1} of {2} bytes. {3} % complete...", _
CStr(e.UserState), e.BytesReceived, e.TotalBytesToReceive, e.ProgressPercentage)
End Sub
Kommentarer
Caution
WebRequest, HttpWebRequest, ServicePoint, och WebClient är föråldrade och du bör inte använda dem för ny utveckling. Använd HttpClient i stället.
Den här händelsen utlöses varje gång en asynkron uppladdning förlopp. Den här händelsen utlöses när uppladdningar startas med någon av följande metoder.
| Metod | Description |
|---|---|
| UploadDataAsync | Skickar en Byte matris till resursen utan att blockera den anropande tråden. |
| UploadFileAsync | Skickar en lokal fil till resursen utan att blockera den anropande tråden. |
| UploadValuesAsync | Skickar en NameValueCollection till resursen och returnerar en Byte matris som innehåller något svar, utan att blockera den anropande tråden. |
UploadProgressChangedEventHandler är ombudet för den här händelsen. Klassen UploadProgressChangedEventArgs ger händelsehanteraren händelsedata.
Mer information om hur du hanterar händelser finns i Hantera och höja händelser.