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


Xceed.Ftp Assembly > Xceed.Ftp Namespace > AsyncFtpClient Class > BeginGetDownloadStream Method : BeginGetDownloadStream(String,Int64,AsyncCallback,Object) Method
The filename of the file to retrieve. Some FTP servers may be case-sensitive!
The byte offset (of the remote file) at which to start receiving data from the remote file.
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, beginning at the specified offset. Don't forget to call EndGetDownloadStream!
Syntax
'Declaration
 
Public Overloads Function BeginGetDownloadStream( _

   ByVal remoteFilename As String, _

   ByVal offset As Long, _

   ByVal callback As AsyncCallback, _

   ByVal state As Object _

) As IAsyncResult
'Usage
 
Dim instance As AsyncFtpClient

Dim remoteFilename As String

Dim offset As Long

Dim callback As AsyncCallback

Dim state As Object

Dim value As IAsyncResult

 

value = instance.BeginGetDownloadStream(remoteFilename, offset, callback, state)
public IAsyncResult BeginGetDownloadStream( 

   string remoteFilename,

   long offset,

   AsyncCallback callback,

   object state

)

Parameters

remoteFilename
The filename of the file to retrieve. Some FTP servers may be case-sensitive!
offset
The byte offset (of the remote file) at which to start receiving data from the remote file.
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