Sample code for 30+ languages & platforms
C#

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.

Chilkat C# Downloads

C#
bool success = false;

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

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

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

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

//  Set the transfer mode to ASCII
success = ftp.SetTypeAscii();
if (success != true) {
    Debug.WriteLine(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) {
    Debug.WriteLine(ftp.LastErrorText);
    return;
}

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

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

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

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

success = ftp.Disconnect();

Debug.WriteLine("File Downloaded!");