verificando a existência de subpastas em um diretorio FTP

14/01/2013

0

Hoje tem essa estrutura para criar pasta no FTP. Só que não consigo verificar se existem subpastas dentro de um determinado diretório.


 public static void CriarPastaFTP(string Pasta)
        {
            try
            {
                NetworkCredential Credentials = new NetworkCredential(UserSession.TabuladorController.FTPUsuario, UserSession.TabuladorController.FTPSenha);

                FtpWebRequest Request = (FtpWebRequest)FtpWebRequest.Create(UserSession.TabuladorController.FTPEndereco);
                Request.Credentials = Credentials;
                Request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
                WebResponse Response = Request.GetResponse();

                StreamReader reader = new StreamReader(Response.GetResponseStream());
                bool ExistePasta = reader.ReadToEnd().Contains(Pasta);

                if (!ExistePasta)
                {
                    Request = (FtpWebRequest)FtpWebRequest.Create(UserSession.TabuladorController.FTPEndereco + Pasta);
                    Request.Credentials = Credentials;
                    Request.Method = WebRequestMethods.Ftp.MakeDirectory;
                    Response = Request.GetResponse();
                }
                Response.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Verifique se o endereço existe!");
            }
        }


Como listar os subdiretorios?

Muito obrigado.
Responder

Posts

14/01/2013

Robson Alves

vc vai ter que fazer recursão.

Veja:
[url]http://stackoverflow.com/questions/13121196/ftp-directory-subdirectory-listing-using-edtftpnet-c[/url]
Responder

14/01/2013

Max


Nesse Exemplo, percorro todos os diretórios do FTP, mas não consego acessar os subdiretórios.

FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(uri);
ftpRequest.Credentials =new NetworkCredential("anonymous","janeDoe@contoso.com");
ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;
FtpWebResponse response = (FtpWebResponse)ftpRequest.GetResponse();
StreamReader streamReader = new StreamReader(response.GetResponseStream());

List<string> directories = new List<string>();

string line = streamReader.ReadLine();
while (!string.IsNullOrEmpty(line))
{
    directories.Add(line);
    line = streamReader.ReadLine();
}

streamReader.Close();[


Tem algum metódo, que eu posso acessar o subdiretório?
Responder

15/01/2013

Robson Alves

Cara, eu nunca fiz isso, mas li que o ListDirectory resolve isso:

http://www.copyandwaste.com/posts/view/parsing-webrequestmethodsftplistdirectorydetails-and-listdirectory/
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar