WebClient.UploadFileAsync Method (Uri, String, String, Object)

Note: This method is new in the .NET Framework version 2.0.

Uploads the specified local file to the specified resource, using the POST method. This method does not block the calling thread.

Namespace: System.Net
Assembly: System (in system.dll)

Public Sub UploadFileAsync ( _
	address As Uri, _
	method As String, _
	fileName As String, _
	userToken As Object _
Dim instance As WebClient
Dim address As Uri
Dim method As String
Dim fileName As String
Dim userToken As Object

instance.UploadFileAsync(address, method, fileName, userToken)
public void UploadFileAsync (
	Uri address, 
	String method, 
	String fileName, 
	Object userToken
public function UploadFileAsync (
	address : Uri, 
	method : String, 
	fileName : String, 
	userToken : Object



The URI of the resource to receive the file. For HTTP resources, this URI must identify a resource that can accept a request sent with the POST method, such as a script or ASP page.


The HTTP method used to send the data to the resource. If null, the default is POST for http and STOR for ftp.


The file to send to the resource.


A user-defined object that is passed to the method invoked when the asynchronous operation completes.

Exception typeCondition


The URI formed by combining BaseAddress and address is invalid.


fileName is a null reference (Nothing in Visual Basic), is Empty, contains invalid character, or the specified path to the file does not exist.


An error occurred while opening the stream.


There was no response from the server hosting the resource.


The Content-type header begins with multipart.

The file is sent asynchronously using thread resources that are automatically allocated from the thread pool. To receive notification when the file upload completes, add an event handler to the UploadFileCompleted event.

This method does not block the calling thread while the file is being sent. To send a file and block while waiting for the server's response, use one of the UploadFile methods.

Asynchronous operations that have not completed can be canceled using the CancelAsync method.

If the BaseAddress property is not an empty string (""), address must be a relative URI that is combined with BaseAddress to form the absolute URI of the requested data. If the QueryString property is not an empty string, it is appended to address.

This method uses the STOR command to upload an FTP resource. For an HTTP resource, the POST method is used.


This member outputs trace information when you enable network tracing in your application. For more information, see Network Tracing.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0