Sample code for 30+ languages & platforms
JavaScript

CRLF Mode

See more FTP Examples

The CrlfMode property applies when downloading files in ASCII mode. If CrlfMode is set to 0 (the default), then the ASCII transfer happens normally without alteration. A value of 1 converts all line endings to CR+ LF. A value of 2 converts all line endings to LF-only. A value of 3 converts all line endings to CR-only.
Note
This example is intended for running within a Chilkat.Js embedded JavaScript engine. All Chilkat JavaScript examples require Chilkat v11.4.0 or greater.
JavaScript
var success = false;

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

var ftp = new CkFtp2();

ftp.Hostname = "ftp.chilkatsoft.com";
ftp.Username = "MyLogin";
ftp.Password = "MyPassword";

// Connect and login to the FTP server.
success = ftp.Connect();
if (success !== true) {
    console.log(ftp.LastErrorText);
    return;
}

// Set the transfer mode to ASCII
success = ftp.SetTypeAscii();
if (success !== true) {
    console.log(ftp.LastErrorText);
    return;
}

// Set the CrlfMode to ensure that line endings are CR+LF:
ftp.CrlfMode = 1;

// CrlfMode line ending settings:
// 0 = do ASCII transfer without alteration.
// 1 = CR+LF
// 2 = LF-only
// 3 = CR-only

// Change to the remote directory where the file will be uploaded.
success = ftp.ChangeRemoteDir("junk");
if (success !== true) {
    console.log(ftp.LastErrorText);
    return;
}

var localFilename = "hamlet.xml";
var remoteFilename = "hamlet.xml";

// Turn on session logging for the upload:
ftp.KeepSessionLog = true;

// Download a file.
success = ftp.GetFile(remoteFilename,localFilename);
if (success !== true) {
    console.log(ftp.LastErrorText);
    return;
}

// View the session log.  You can verify visually that
// the transfer was in ascii mode.
console.log(ftp.SessionLog);

success = ftp.Disconnect();

console.log("File Downloaded!");