Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • Mais de 200 livros de programação gratuitos em português
    • System Design: da teoria à prática
    • Pessoas e Processos: o fator humano por trás da arquitetura de sistemas
    • Observabilidade e Operações: dando olhos e mãos ao sistema
    • Performance e Custo: otimizando o que realmente importa
    • Padrões de Arquitetura e Organização: quando o design encontra a realidade
    • Confiabilidade e Consistência: construindo sistemas que não quebram sob pressão
    • Bancos de dados e armazenamento: onde moram os gargalos
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Asp.net»Fazendo download via SFTP em C# com SshNet

    Fazendo download via SFTP em C# com SshNet

    Jhonathan SoaresBy Jhonathan Soares13 de fevereiro de 20141 Min Read Asp.net
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Olá pessoal!

    Recentemente me deparei com um problema no trabalho no qual eu precisava fazer download de arquivos via SFTP.

    Vamos a uma pequena definição:  “Na computação, o SSH File Transfer Protocol ou SFTP é um protocolo de transferência de arquivos e de manipulação funcional. É tipicamente utilizado com o protocolo de segurança SSH-2.”

    Com isto eu criei inicialmente um projetinho de teste via console mesmo só para testar a aplicação e testar o download do arquivo.

    Vou mostrar o código para vocês:

      public static void Download()
            { 
               using (SftpClient sftp = new SftpClient("coloque seu host", "coloque o usuario", "coloque a senha"))
                {
                    sftp.Connect();
                    sftp.ChangeDirectory("//"); // subdiretorio do ftp
                    string downloadedFileName = "";
                    string localPath = "D:\\"; //local para salvar o arquivo
    
                    var listDirectory = sftp.ListDirectory("//"); // subdiretorio do ftp
                    Console.WriteLine("Listando diretório:");
                    Console.WriteLine("");
                    foreach (var fi in listDirectory)
                    {
                        if (fi.Name.Length > 2)
                        {
                            Console.WriteLine(" >   " + fi.Name);
                        }
                        
                    }
                    Console.WriteLine("");
                    Console.WriteLine("Digite o nome do arquivo a fazer download:");
                    downloadedFileName = Console.ReadLine();
    
                    if (sftp.Exists(downloadedFileName))
                    {
                        using (var file = File.OpenWrite(localPath + downloadedFileName))
                        {
                            sftp.DownloadFile(downloadedFileName, file);
                            Console.WriteLine("Arquivo feito download com sucesso!");
                            Console.ReadKey();
                        }
                    }
                    else
                    {
                        Console.WriteLine("Arquivo não encontrado:");
                    }
                    sftp.Disconnect();
                }
            }
                

    A implementação ficou bastante simples porém dá pra você entender perfeitamente como funciona.

    Vale lembrar que você tem que fazer o download da biblioteca do SshNET > faça o download aqui

     

    Bom pessoal, até a próxima!

    Siga-nos no Facebook : https://www.facebook.com/CodigoSimples

     

     

     

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    O que é a Ecma e qual é sua relação com C#?

    C# Post do Leitor 29 de julho de 20247 Mins Read

    Boas práticas de criação, armazenamento e validação de senhas em .NET

    Asp.net Boas práticas 9 de julho de 20248 Mins Read

    UUID vs ULID: comparação e exemplos em C#

    C# 19 de junho de 20245 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • Mais de 200 livros de programação gratuitos em português
    • System Design: da teoria à prática
    • Pessoas e Processos: o fator humano por trás da arquitetura de sistemas
    • Observabilidade e Operações: dando olhos e mãos ao sistema
    • Performance e Custo: otimizando o que realmente importa
    Categorias
    • Arquitetura (27)
      • Microsserviços (2)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (92)
      • NoSql (59)
      • Sql (38)
    • Boas práticas (33)
      • Gestão & Produtividade (3)
      • Metodologias Ágeis (6)
    • Cursos (53)
    • Dicas (106)
    • Front-End (92)
    • IA (4)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Testes
    28 de fevereiro de 20254 Mins Read

    30 APIs Gratuitas para desenvolvedores

    APIs são ferramentas essenciais para desenvolvedores que querem criar aplicações mais eficientes, conectadas e funcionais sem reinventar a roda. Desde dados abertos, notícias em tempo real e inteligência artificial até esportes e clima, há APIs gratuitas que oferecem vastas possibilidades de integração. Este artigo apresenta 30 APIs gratuitas que podem acelerar o desenvolvimento e abrir novas oportunidades para projetos inovadores.

    1000 livros gratuitos sobre programação!

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile