This documentation is archived and is not being maintained.

FtpWebResponse.StatusCode Property

Gets the most recent status code sent from the FTP server.

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

'Declaration
Public ReadOnly Property StatusCode As FtpStatusCode

Property Value

Type: System.Net.FtpStatusCode
An FtpStatusCode value that indicates the most recent status code returned with this response.

The value returned by the StatusCode property is included in the StatusDescription property. When you are downloading data, the value of StatusCode changes as status codes are returned by the FTP server. After you call the GetResponse method, StatusCode contains an intermediate status code. When you call the Close method, StatusCode contains the final status.

The following code example uploads a file to a server and displays the status.


Public Shared Function UploadFileToServer(ByVal fileName As String, ByVal serverUri As Uri) As Boolean
    ' The URI described by serverUri should use the ftp:// scheme.
    ' It contains the name of the file on the server.
    ' Example: ftp://contoso.com/someFile.txt.
    ' 
    ' The fileName parameter identifies the file containing the data to be uploaded.

    If serverUri.Scheme <> Uri.UriSchemeFtp Then
        Return False
    End If
    ' Get the object used to communicate with the server.
    Dim request As FtpWebRequest = CType(WebRequest.Create(serverUri), FtpWebRequest)
    request.Method = WebRequestMethods.Ftp.UploadFile
    ' Don't set a time limit for the operation to complete.
    request.Timeout = Timeout.Infinite

    ' Copy the file contents to the request stream.
    Const bufferLength As Integer = 2048
    Dim buffer(bufferLength - 1) As Byte

    Dim count As Integer = 0
    Dim readBytes As Integer = 0
    Dim stream As FileStream = File.OpenRead(fileName)
    Dim requestStream As Stream = request.GetRequestStream()
    Do
        readBytes = stream.Read(buffer, 0, bufferLength)
        requestStream.Write(buffer, 0, bufferLength)
        count += readBytes
    Loop While readBytes <> 0

    Console.WriteLine("Writing {0} bytes to the stream.", count)
    ' IMPORTANT: Close the request stream before sending the request.
    requestStream.Close()

    Dim response As FtpWebResponse = CType(request.GetResponse(), FtpWebResponse)
    Console.WriteLine("Upload status: {0}, {1}", response.StatusCode, response.StatusDescription)

    response.Close()
    Return True
End Function


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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