Sample code for 30+ languages & platforms
Node.js

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 Node.js Downloads

Node.js
NODEJS_PRELUDE

function chilkatExample() {

    var success = false;

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

    var 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) {
        console.log(ftp.LastErrorText);
        return;
    }

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

    var streamObj = new chilkat.Stream();

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

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

    var 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();

    console.log("Success.");

}

chilkatExample();