web-dev-qa-db-ja.com

FluentFTPを使用してファイルをダウンロードする

C#でFluentFTPを使用してFTP転送を実装しようとしています。ディレクトリ一覧の取得は非常に簡単ですが、ファイルのダウンロードに行き詰まっています。

コメントに例が含まれている記事を1つ見つけましたが、FtpFileクラスのソースが見つからないため、コンパイルできません。

FluentFTPを使用してFTPサーバーからファイルをダウンロードする方法の例はありますか?

編集:ここにいくつかの例を見つけました https://github.com/hgupta9/FluentFTP しかし、方法の例はありません実際にファイルをダウンロードします。

この記事の無料FTPライブラリには例がありますが、コンパイルされません。これは例です

FtpClient ftp = new FtpClient(txtUsername.Text, txtPassword.Text, txtFTPAddress.Text);
FtpListItem[] items = ftp.GetListing(); 
FtpFile file = new FtpFile(ftp, "8051812.xml"); // THIS does not compile, class FtpFile is unknown
file.Download("c:\\8051812.xml");
file.Name = "8051814.xml";
file.Download("c:\\8051814.xml");
ftp.Disconnect();

EDIT:ソリューション
見つけた記事には、私を間違った方向に向かわせる例が含まれていました。かつてのダウンロード方法があったようですが、それは今ずっと前になくなっています。したがって、答えはそれを手放してOpenRead()メソッドを使用してストリームを取得し、そのストリームをファイルに保存することでした。

7
GuidoG

FluentFTPの最新バージョンに組み込まれたDownloadFile()およびUploadFile()メソッドが追加されました。

https://github.com/robinrodricks/FluentFTP#example-usage からの使用例:

// connect to the FTP server
FtpClient client = new FtpClient();
client.Host = "123.123.123.123";
client.Credentials = new NetworkCredential("david", "pass123");
client.Connect();

// upload a file
client.UploadFile(@"C:\MyVideo.mp4", "/htdocs/big.txt");

// rename the uploaded file
client.Rename("/htdocs/big.txt", "/htdocs/big2.txt");

// download the file again
client.DownloadFile(@"C:\MyVideo_2.mp4", "/htdocs/big2.txt");
17
Robinicks