微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从FTP获取文件列表

如何解决如何从FTP获取文件列表

我正在尝试从 FTP 获取文件列表。但是我得到了保存文件的目录的名称

    List<string> file_names = new List<string>();
    try
    {
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(Host + "Data");
        request.Method = WebRequestMethods.Ftp.ListDirectory;

        request.Credentials = new NetworkCredential(UserID,Password);

        FtpWebResponse response = (FtpWebResponse)request.GetResponse();

        Stream responseStream = response.GetResponseStream();
        StreamReader reader = new StreamReader(responseStream);
        string files = reader.ReadToEnd();

        print(files); // prints "Data" instead of list of file names

        file_names = files.Split(new string[] { "\r\n" },StringSplitOptions.RemoveEmptyEntries).ToList();


        Debug.Log($"Directory List Complete,status {response.StatusDescription}");

        reader.Close();
        response.Close();
    }
    catch(WebException e)
    {
        print(e.Message + "\tCould not get files from server");
    }

我做错了什么?

解决方法

我找到了 this 第三方 FTP 库,这使它变得更加简单。

List<string> files = new List<string>();
    FtpClient client = new FtpClient("192.168.0.125",2221,new NetworkCredential(UserID,Password));
    //client.Credentials = new NetworkCredential(UserID,Password);
    client.Connect();
    foreach(FtpListItem item in client.GetListing("/Data"))
    {
        if (item.Type == FtpFileSystemObjectType.File)
        {
            files.Add(item.Name);
            print(item.Name);
        }
            
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。