【问题标题】:How to get a list of files from FTP [duplicate]如何从 FTP 获取文件列表 [重复]
【发布时间】:2021-03-09 15:06:23
【问题描述】:

我正在尝试从 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");
    }

我做错了什么?

【问题讨论】:

    标签: c# ftp ftpwebrequest


    【解决方案1】:

    我找到了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);
            }
                
        }
    

    【讨论】:

    • 考虑发布您对以上链接问题之一的回答。因为你的问题是重复的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多