获取文件列表

时间:2012-10-11 09:22:45

标签: c# ftp

我正在尝试获取FTP文件夹上的文件列表。 当我在本地运行它时,代码工作正常,但在部署它时,我开始接收html而不是文件名

ArrayList fName = new ArrayList();
try
{
    StringBuilder result = new StringBuilder();

    //create the directory
    FtpWebRequest requestDir =
        (FtpWebRequest) FtpWebRequest.Create(new Uri(directory));
    requestDir.Method = WebRequestMethods.Ftp.ListDirectory;
    requestDir.Credentials = new NetworkCredential(FTP_USER_NAME, FTP_PASSWORD);
    requestDir.UsePassive = true;
    requestDir.UseBinary = true;
    requestDir.KeepAlive = false;
    requestDir.Proxy = null;
    FtpWebResponse response = (FtpWebResponse)requestDir.GetResponse();
    Stream ftpStream = response.GetResponseStream();
    StreamReader reader = new StreamReader(ftpStream, Encoding.ASCII);

    while (!reader.EndOfStream)
    {
        fName.Add(reader.ReadLine().ToString());
    }

    response.Close();
    ftpStream.Close();
    reader.Close();

2 个答案:

答案 0 :(得分:1)

您可以尝试使用GetFileName

Uri uri = new Uri(hreflink);
string filename = Path.GetFileName(uri.LocalPath);

答案 1 :(得分:1)

我能够通过使用ftp服务器的ip地址而不是名称

以列表格式(而不是html)访问文件名

即。


ftp://xxx.x.x.xxx/folder_name/

而不是


ftp://abc.some_company.com/folder_name/

我将更详细地编辑这个答案。