Biblioteca FTP livre [fechada]

pode recomendar uma biblioteca FTP(classe) gratuita para C#.

A classe tem de ser bem escrita, e ter um bom desempenho.

 81
Author: Josef Van Zyl, 2009-09-03

7 answers

Pode considerar FluentFTP , Anteriormente conhecido por System. Net. FtpClient.

É lançado sob A Licença MIT e disponível em NuGet (FluentFTP).

 53
Author: Erwin Mayer, 2016-11-05 05:54:47

Porque não usa as bibliotecas que vêm com o framework. Net: http://msdn.microsoft.com/en-us/library/ms229718.aspx

São concebidos pela Microsoft e devem funcionar de forma bastante eficiente.

 19
Author: 0fnt, 2010-02-23 15:16:53

EdtFTPnet é uma biblioteca FTP livre, rápida e de código aberto para o. NET, escrita em C#.

 11
Author: Bruce Blackshaw, 2010-02-15 11:52:08

Eu gosto de Alex FTPS Client que é escrito por um MVP da Microsoft chamado Alex Pilotti. É uma biblioteca C# que você pode usar em aplicativos de consoles, formulários Windows, PowerShell, ASP.NET (em qualquer língua.net). Se você tiver uma aplicação multithreaded você terá que configurar a biblioteca para executar sincronamente, mas no geral um bom cliente que provavelmente lhe dará o que você precisa.

 7
Author: John C, 2011-12-23 07:36:25
 5
Author: Kane, 2009-09-03 07:50:46

Acabei de publicar um artigo que apresenta tanto uma classe de cliente FTP como um controlo de utilizador FTP.

Eles são simples e não são muito rápidos, mas são muito fáceis de usar e todo o código fonte está incluído. Basta largar o controle do usuário em um formulário para permitir que os usuários naveguem em diretórios FTP de sua aplicação.

 1
Author: Jonathan Wood, 2011-03-10 17:15:51
Depois de muita investigação no mesmo assunto, achei esta extremamente conveniente.: https://github.com/flagbug/FlagFtp

Por exemplo (tente fazer isto com a biblioteca padrão. net-será uma dor real) - > Recuando recursivamente todos os ficheiros no servidor 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);
        }
    }
 0
Author: Stephan, 2013-11-27 18:07:38