BeginGetDownloadStream(String,AsyncCallback,Object) Method
Begins the process of retrieving a direct access to the
readonly data stream being received. Don't forget to call
EndGetDownloadStream!
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.
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 );
}
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 );
}
.NET: net5.0, net5.0-windows, net6.0, net6.0-macos, net6.0-windows, net7.0, net7.0-macos, net7.0-windows, net8.0, net8.0-browser, net8.0-macos, net8.0-windows, net9.0, net9.0-browser, net9.0-macos, net9.0-windows, net10.0, net10.0-browser, net10.0-macos, net10.0-windows.
.NET Standard: netstandard2.0, netstandard2.1
.NET Framework: net20, net35, net40, net403, net45, net451, net452, net46, net461, net462, net463, net47, net471, net472, net48, net481.