Xceed .NET Libraries Documentation
BeginGetDownloadStream(String,AsyncCallback,Object) Method
Example 


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.
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

Reference

AsyncFtpClient Class
AsyncFtpClient Members
Overload List