Sample code for 30+ languages & platforms
.NET Core 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 .NET Core C# Downloads

.NET Core 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!");