Xceed .NET Libraries Documentation
Xceed.Ftp Assembly / Xceed.Ftp Namespace / AsyncFtpClient Class / BeginGetDownloadStream Method / BeginGetDownloadStream(String,AsyncCallback,Object) Method
The filename of the file to retrieve. Some FTP servers may be case-sensitive!
Callback method to be called when the asynchronous operation is completed.
An object containing state information for this operation.
Example


In This Topic
    BeginGetDownloadStream(String,AsyncCallback,Object) Method
    In This Topic
    Begins the process of retrieving a direct access to the readonly data stream being received. Don't forget to call EndGetDownloadStream!
    Syntax
    'Declaration
     
    Public Overloads Function BeginGetDownloadStream( _
       ByVal remoteFilename As String, _
       ByVal callback As AsyncCallback, _
       ByVal state As Object _
    ) As IAsyncResult
    'Usage
     
    Dim instance As AsyncFtpClient
    Dim remoteFilename As String
    Dim callback As AsyncCallback
    Dim state As Object
    Dim value As IAsyncResult
     
    value = instance.BeginGetDownloadStream(remoteFilename, callback, state)
    public IAsyncResult BeginGetDownloadStream( 
       string remoteFilename,
       AsyncCallback callback,
       object state
    )

    Parameters

    remoteFilename
    The filename of the file to retrieve. Some FTP servers may be case-sensitive!
    callback
    Callback method to be called when the asynchronous operation is completed.
    state
    An object containing state information for this operation.

    Return Value

    An System.IAsyncResult representing the status of the asynchronous operation.
    Remarks

    The FTP client will remain in a "ReceivingFile" state until the stream returned by EndGetDownloadStream is closed.

    Example
    AsyncFtpClient ftp = new AsyncFtpClient();
    IAsyncResult result = ftp.BeginConnect( "ftp.server.com", null, null );
    
    while( !result.IsCompleted )
      Application.DoEvents();
    
    ftp.EndConnect( result );
    
    result = ftp.BeginLogin( null, null );
    
    while( !result.IsCompleted )
      Application.DoEvents();
    
    ftp.EndLogin( result );
    
    result = ftp.BeginGetDownloadStream( "test.txt", 0, null, null );
    
    while( !result.IsCompleted )
      Application.DoEvents();
    
    using( System.IO.Stream stream = ftp.EndGetDownloadStream( result ) )
    {
      byte[] buffer = new byte[ 32768 ];
      int bytesRead = 0;
    
      // Loop until we have nothing more to read from the source stream.
      // We are assuming that the data contained in the file is text
      string data = string.Empty;
      while( ( bytesRead = stream.Read( buffer, 0, buffer.Length ) ) > 0 )
      {
        data += System.Text.Encoding.ASCII.GetString( buffer );
      }
    
      System.Diagnostics.Debug.WriteLine( data );
    }
    Requirements

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

    See Also