Quantcast
Viewing all articles
Browse latest Browse all 12583

How to list Subfolders AS WELL AS Root Folders GUI FTP Windows Forms C#

I posted this as a response to my previous topic but then I thought it would probably be more appropriate to make it as a new topic as the previous topic was about another question entirely, to be quite honest with you.

Okay, moving on...I want to be able to display SUBFOLDERS as well as ROOT FOLDERS. Any ideas?

public string[] ListDirectory()
         {
             var list = treeView1;
             var request = createRequest("ftp://" + host.Text.ToString() + "/", WebRequestMethods.Ftp.ListDirectory);
             try
              {
                  FtpWebResponse response = (FtpWebResponse)request.GetResponse();
              }
              catch (WebException ex)
              {
                  FtpWebResponse response = (FtpWebResponse)ex.Response;
                  if (response.StatusCode == FtpStatusCode.NotLoggedIn || response.StatusCode == FtpStatusCode.AccountNeeded || response.StatusCode == FtpStatusCode.ActionAbortedLocalProcessingError
                      || response.StatusCode == FtpStatusCode.ActionAbortedUnknownPageType || response.StatusCode == FtpStatusCode.ArgumentSyntaxError || response.StatusCode == FtpStatusCode.BadCommandSequence
                      || response.StatusCode == FtpStatusCode.CantOpenData || response.StatusCode == FtpStatusCode.ClosingControl || response.StatusCode == FtpStatusCode.CommandSyntaxError
                      || response.StatusCode == FtpStatusCode.ConnectionClosed || response.StatusCode == FtpStatusCode.NeedLoginAccount || response.StatusCode == FtpStatusCode.SendPasswordCommand
                      || response.StatusCode == FtpStatusCode.ServiceNotAvailable || response.StatusCode == FtpStatusCode.ServiceTemporarilyNotAvailable)
                  {
                      MessageBox.Show(response.StatusDescription);
                  }
                  return new string[0];
              }
             using (var response = (FtpWebResponse)request.GetResponse())
             {
                 using (var stream = response.GetResponseStream())
                 {
                     using (var reader = new StreamReader(stream, true))
                     {
                         while (!reader.EndOfStream)
                         {
                             list.Nodes.Add(reader.ReadLine());
                         }
                     }
                 }
             } List<string> l = new List<string>();
             return l.ToArray();
         }


Viewing all articles
Browse latest Browse all 12583

Trending Articles