我正在尝试使用C#中的FluentFTP实现FTP传输。获取目录列表非常简单,但是我仍然无法下载文件。

我在这里找到了一篇在其注释中包含示例的文章,但由于无法找到类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();

编辑:解决方案
我发现的文章包含一个示例,使我误入歧途。
似乎曾经有一个Download方法,但现在已经不复存在了。
因此,答案是放任其走,并使用OpenRead()方法获取流,而不是将该流保存到文件中。

最佳答案

现在,最新版本的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");

10-08 11:34