Example #1
0
 //列出目录
 private string[] ListDirectory(string uristring)
 {
     try {
         Uri           uri         = new Uri(ftphost + uristring);
         FtpWebRequest listRequest = ( FtpWebRequest )WebRequest.Create(uri);
         listRequest.Credentials = new NetworkCredential(username, password);
         listRequest.Method      = WebRequestMethods.Ftp.ListDirectoryDetails;
         listRequest.Proxy       = GlobalProxySelection.GetEmptyWebProxy();
         FtpWebResponse listResponse   = ( FtpWebResponse )listRequest.GetResponse();
         Stream         responseStream = listResponse.GetResponseStream( );
         StreamReader   readStream     = new StreamReader(responseStream, System.Text.Encoding.Default);
         if (readStream != null)
         {
             DirectoryListParser parser  = new DirectoryListParser(readStream.ReadToEnd());
             FileStruct[]        fs      = parser.FullListing;
             List <string>       returns = new List <string>();
             foreach (FileStruct element in fs)
             {
                 if (element.IsDirectory)
                 {
                     returns.Add(element.Name);
                 }
             }
             listResponse.Close();
             responseStream.Close();
             readStream.Close();
             if (returns.Count > 0)
             {
                 return(returns.ToArray());
             }
             else
             {
                 return(null);
             }
         }
         listResponse.Close();
         responseStream.Close();
         readStream.Close();
         return(null);
     } catch (Exception e) {
         MessageBox.Show(e.ToString(), "FTP访问错误");
         return(new string[] { "" });
     }
 }
Example #2
0
        //列出目录
        private string[] ListDirectory(string uristring)
        {
            Uri           uri         = new Uri(ftphost + uristring);
            FtpWebRequest listRequest = ( FtpWebRequest )WebRequest.Create(uri);

            listRequest.Credentials = new NetworkCredential(username, password);
            listRequest.Method      = WebRequestMethods.Ftp.ListDirectoryDetails;
            FtpWebResponse listResponse   = ( FtpWebResponse )listRequest.GetResponse();
            Stream         responseStream = listResponse.GetResponseStream( );
            StreamReader   readStream     = new StreamReader(responseStream, System.Text.Encoding.Default);

            if (readStream != null)
            {
                DirectoryListParser parser  = new DirectoryListParser(readStream.ReadToEnd());
                FileStruct[]        fs      = parser.FullListing;
                List <string>       returns = new List <string>();
                foreach (FileStruct element in fs)
                {
                    if (element.IsDirectory)
                    {
                        returns.Add(element.Name);
                    }
                }
                if (returns.Count > 0)
                {
                    return(returns.ToArray());
                }
                else
                {
                    return(null);
                }
            }
            listResponse.Close();
            responseStream.Close();
            readStream.Close();
            return(null);
        }