Sample code for 30+ languages & platforms
.NET Core C#

FTP Download Binary File to a Stream

See more FTP Examples

Demonstrates how to FTP download a binary file to a Chilkat stream.

Note: This example requires Chilkat v9.5.0.67 or greater.

Chilkat .NET Core C# Downloads

.NET Core C#
bool success = false;

// This example assumes the Chilkat FTP2 API to have been previously unlocked.
// See FTP2 Unlock Sample for sample code.

Chilkat.Ftp2 ftp = new Chilkat.Ftp2();

ftp.Hostname = "www.my-ftp-server.com";
ftp.Username = "mFtpLogin";
ftp.Password = "myFtpPassword";
ftp.AuthTls = true;
ftp.Passive = true;

// Connect and login to the FTP server using TLS.
success = ftp.Connect();
if (success != true) {
    Debug.WriteLine(ftp.LastErrorText);
    return;
}

// We'll read the incoming data chunk-by-chunk and write to an output file.
Chilkat.FileAccess fac = new Chilkat.FileAccess();
success = fac.OpenForWrite("qa_output/penguins2.jpg");
if (success != true) {
    Debug.WriteLine(fac.LastErrorText);
    return;
}

Chilkat.Stream streamObj = new Chilkat.Stream();

// Create a task to do the FTP download.
Chilkat.Task t = ftp.GetFileToStreamAsync("penguins2.jpg",streamObj);
if (ftp.LastMethodSuccess != true) {
    Debug.WriteLine(ftp.LastErrorText);
    return;
}

// Start the task in a background thread.
t.Run();

Chilkat.BinData bd = new Chilkat.BinData();
while (streamObj.EndOfStream != true) {
    // Get the next chunk of JPG bytes.
    streamObj.ReadBd(bd);
    // Do something with it..
    // In this simple example, we'll just write to the file.
    fac.FileWriteBd(bd,0,0);
    // Clear for the next read.
    bd.Clear();
}

fac.FileClose();

Debug.WriteLine("Success.");