This documentation is archived and is not being maintained.

FtpWebResponse.ContentLength Property

Gets the length of the data received from the FTP server.

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

Public Overrides ReadOnly Property ContentLength As Long

Property Value

Type: System.Int64
An Int64 value that contains the number of bytes of data received from the FTP server.

When a response stream is returned by the FTP server, the ContentLength property contains the number of bytes in the stream. ContentLength returns −1 if no data was returned in the response or if the server did not send content length information. The return value is greater than or equal to zero if data was or should have been returned. For example, for requests that use the ListDirectory field, the ContentLength property always returns −1. For requests that use the UploadFile method, the ContentLength property is always zero. For requests that use the DownloadFile method, the property is greater than zero if the downloaded file contained data and is zero if it was empty.

For requests that use the GetFileSize method, ContentLength returns the size of the specified file on the server.

The following code example downloads a file from on the specified FTP server. This property contains the number of bytes in the downloaded file.

Public Shared Function DownloadFileFromServer(ByVal serverUri As Uri, ByVal localFileName As String) As Boolean
    ' The serverUri parameter should start with the ftp:// scheme.
    If serverUri.Scheme <> Uri.UriSchemeFtp Then
        Return False
    End If
    ' Get the object used to communicate with the server.
    ' Note that the cast to FtpWebRequest is done only
    ' for the purposes of illustration. If your application
    ' does not set any properties other than those defined in the
    ' System.Net.WebRequest class, you can use the following line instead:
    ' WebRequest request = WebRequest.Create(serverUri)
    Dim request As FtpWebRequest = CType(WebRequest.Create(serverUri), FtpWebRequest)
    request.Method = WebRequestMethods.Ftp.DownloadFile

    Dim response As FtpWebResponse = CType(request.GetResponse(), FtpWebResponse)

    Dim responseStream As Stream = Nothing
    Dim readStream As StreamReader = Nothing
    Dim writeStream As StreamWriter = Nothing
        responseStream = response.GetResponseStream()
        readStream = New StreamReader(responseStream, Encoding.UTF8)
        ' Display information about the data received from the server.
        Console.WriteLine("Bytes received: {0}", response.ContentLength)

        Console.WriteLine("Message from server: {0}", response.StatusDescription)
        Console.WriteLine("Resource: {0}", response.ResponseUri)

        ' Write the bytes received from the server to the local file.
        If readStream IsNot Nothing Then
            writeStream = New StreamWriter(localFileName, False)
        End If
        If readStream IsNot Nothing Then
        End If
        If response IsNot Nothing Then
        End If
        If writeStream IsNot Nothing Then
        End If
    End Try
    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.