如何在ftp服务器上列出目录中的文件

本文关键字:文件 ftp 服务器 | 更新日期: 2023-09-27 18:19:36

问题如下:

我找到了一个解决方案,可以列出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);
            }
        }

如何在ftp服务器上列出目录中的文件

您可以使用以下代码:

            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();
            }