Скачивание по FTP с помощью rust-ftp
Я использую клиент FTP
В примерах указано, как сохранить текстовый файл в UTF-8. Как можно сохранить бинарный файл? Я так думаю, что нужно его скачать как буффер байт, и потом сохранить этот буфер в файл уже локально. Мне понятен пример скачивания текстового файла, но непонятно, как получить файл, отличный от текстового.
// Retrieve (GET) a file from the FTP server in the current working directory.
let remote_file = ftp_stream.simple_retr("ftpext-charter.txt").unwrap();
println!("Read file with contents\n{}\n", str::from_utf8(&remote_file.into_inner()).unwrap());
Ответы (1 шт):
Автор решения: Alpensin
→ Ссылка
Вот пример сохранения файла
extern crate ftp;
use ftp::FtpStream;
use std::fs::File;
use std::io::prelude::Write;
fn main() {
let mut ftp_stream = FtpStream::connect("ftp.otenet.gr:21").unwrap();
let _ = ftp_stream.login("speedtest", "speedtest").unwrap();
let remote_file = ftp_stream.simple_retr("test100k.db").unwrap();
let mut file = File::create("test100k.db").unwrap();
file.write_all(&remote_file.into_inner()).unwrap();
}