免费FTP库[关闭]

问题描述 投票:86回答:7

你能为C#推荐一个免费的FTP库(类)吗?

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

c# ftp
7个回答
64
投票

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

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


21
投票

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

编辑:2019年4月由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不应该被使用”页面反过来指向这个问题作为最终的库列表!


12
投票

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


7
投票

我喜欢Alex FTPS Client,它是由微软MVP名称Alex Pilotti编写的。它是一个C#库,可以在Console应用程序,Windows窗体,PowerShell,ASP.NET(任何.NET语言)中使用。如果你有一个多线程应用程序,你将不得不配置库同步运行,但总体而言,一个好的客户端很可能会得到你所需要的。



1
投票

我只是提供了一个FTP客户端类和一个FTP用户控件的posted an article

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


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);
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.