免费FTP库

时间:2009-09-03 07:44:28

标签: c# ftp

您能否为C#推荐免费的FTP库(类)。

课程必须写得好,并且表现良好。

7 个答案:

答案 0 :(得分:62)

您可以考虑FluentFTP,以前称为System.Net.FtpClient

它在The MIT License下发布,可在NuGet(FluentFTP)上获得。

答案 1 :(得分:20)

为什么不使用.NET框架附带的库:http://msdn.microsoft.com/en-us/library/ms229718.aspx

编辑:4月2019年https://stackoverflow.com/users/1527/ 这个答案不再有效。其他答案得到了微软的认可。

它们是由Microsoft设计的,不再建议使用它们:

  

我们不建议您使用FtpWebRequest类进行新开发。有关FtpWebRequest的更多信息和替代方法,请参阅GitHub上不应使用的WebRequest。 (https://docs.microsoft.com/en-us/dotnet/api/system.net.ftpwebrequest?view=netframework-4.7.2

'WebRequest不应该被使用'页面反过来指向这个问题作为图书馆的最终清单!

答案 2 :(得分:12)

edtFTPnet是一个免费,快速,开源的.NET库,用C#编写。

答案 3 :(得分:7)

我喜欢Alex FTPS Client,它是由Microsoft MVP名称Alex Pilotti编写的。它是一个C#库,可以在Console应用程序,Windows窗体,PowerShell,ASP.NET(任何.NET语言)中使用。如果您有多线程应用程序,则必须将库配置为同步运行,但总体而言,这是一个很有可能为您提供所需内容的好客户端。

答案 4 :(得分:5)

答案 5 :(得分:1)

我只是posted an article,它提供了FTP客户端类和FTP用户控件。

它们很简单,速度也不是很快,但是非常容易使用,并且包含所有源代码。只需将用户控件拖放到表单上,即可允许用户从应用程序中导航FTP目录。

答案 6 :(得分:1)

经过大量调查后,我发现这个非常方便: https://github.com/flagbug/FlagFtp

例如(尝试使用标准的.net“库” - 这将是一个真正的痛苦) - > 递归地恢复FTP服务器上的所有文件:

  public IEnumerable<FtpFileInfo> GetFiles(string server, string user, string password)
    {
        var credentials = new NetworkCredential(user, password);
        var baseUri = new Uri("ftp://" + server + "/");

        var files = new List<FtpFileInfo>();
        AddFilesFromSubdirectory(files, baseUri, credentials);

        return files;
    }

    private void AddFilesFromSubdirectory(List<FtpFileInfo> files, Uri uri, NetworkCredential credentials)
    {
        var client = new FtpClient(credentials);
        var lookedUpFiles = client.GetFiles(uri);
        files.AddRange(lookedUpFiles);

        foreach (var subDirectory in client.GetDirectories(uri))
        {
            AddFilesFromSubdirectory(files, subDirectory.Uri, credentials);
        }
    }