1

问题如下:

我找到了一个解决方案,它可以列出 ftp 服务器根目录中的文件和目录。但我也需要目录的内容。我需要如何修改这个方法?

internal void ListFilesOnServer()
        {
            try
            {
                FtpWebRequest ftpwrq = (FtpWebRequest)WebRequest.Create(server);
                ftpwrq.Credentials = new NetworkCredential(user,passw);
                ftpwrq.Method = WebRequestMethods.Ftp.ListDirectory;
                ftpwrq.KeepAlive = false;
                FtpWebResponse fresponse = (FtpWebResponse)ftpwrq.GetResponse();
                StreamReader sr = new StreamReader(fresponse.GetResponseStream());
                StreamWriter sw = new StreamWriter(new FileStream("test.txt", FileMode.Create));
                sw.WriteLine(sr.ReadToEnd());
                sw.Close();
                fresponse.Close();
                sr.Close();
                MessageBox.Show("Gotcha");
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
4

1 回答 1

1

您可以使用以下代码执行此操作:

            reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(sUri));
            reqFTP.UseBinary = true;
            reqFTP.Credentials = new NetworkCredential(sFtpUserID, sFtpPassword);
            reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
            reqFTP.Proxy = null;
            reqFTP.KeepAlive = false;
            reqFTP.UsePassive = false;
            response = reqFTP.GetResponse();
            reader = new StreamReader(response.GetResponseStream());
            string line = reader.ReadLine();
            while (line != null)
            {
                result.Append(line);
                result.Append("\n");
                line = reader.ReadLine();
            }
于 2013-06-21T16:01:32.167 回答