//列出目录 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[] { "" }); } }
//列出目录 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); }