Sample code for 30+ languages & platforms
Rust

Download Text File into String Variable

See more FTP Examples

Download a text file directly into a string variable.

Chilkat Rust Downloads

Rust

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

let ftp = chilkat::Ftp2::new();

ftp.set_hostname("ftp.someFtpServer.com");
ftp.set_username("myFtpUserAccount");
ftp.set_password("myFtpPassword");

// Set other possible settings...
// See http://www.cknotes.com/determining-ftp2-connection-settings/ 
// for more information about FTP connection settings.
ftp.set_passive(true);
ftp.set_auth_tls(true);

// Connect and login to the FTP server.
if ftp.connect().is_err() {
    println!("{}", ftp.last_error_text());
    return;
}

// Change to the remote directory where the existing file is located.
if ftp.change_remote_dir("junk").is_err() {
    println!("{}", ftp.last_error_text());
    return;
}

// Download the contents of the remote file into a string variable.

// The GetRemoteFileTextData method assumes the remote file contains ANSI chars.
// To download text files containing non-ANSI text, such as utf-8, call GetRemoteFileTextC
// instead. (see below)
let mut file_contents = ftp.get_remote_file_text_data("ansiText.txt").unwrap_or_default();
if !ftp.last_method_success() {
    println!("{}", ftp.last_error_text());
    return;
} else {
    println!("{}", file_contents);
}

// To download a remote text file containing utf-8 chars, 
// call GetRemoteFileTextC and pass "utf-8" for the 2nd arg.  This tells
// Chilkat to interpret the incoming bytes according to the utf-8 character encoding.

file_contents = ftp.get_remote_file_text_c("utf8Text.txt", "utf-8").unwrap_or_default();
if !ftp.last_method_success() {
    println!("{}", ftp.last_error_text());
    return;
} else {
    println!("{}", file_contents);
}

let _ = ftp.disconnect().is_ok();