C#获取FTP服务器上的文件
  WDCdPJue8CCV 2023年12月15日 20 0

在文件上传到FTP服务器时会出现没传上去的情况,我不知道为什么会出现这种情况,不知怎么解决就写了段程序,目的是执行完上传以后,去服务器读一遍,看一下有没有上传成功,没成功的话在传一次

首先看下我的FTP服务器页面以及文件

我框住的是文件名和文件目录

C#获取FTP服务器上的文件_服务器

我为了方便看到结果,将查出的数据放到一个下拉列表中。所以定义一个返回类型为list的方法

/// <summary>
        /// 从ftp服务器上获得文件列表
        /// </summary>
        /// <param name="RequedstPath">服务器下的相对路径</param>
        /// <returns></returns>
        public static List<string> GetFile(string RequedstPath= "/Test_Data/SMARC_PTZ/2023/03/17")     ①
        {
            List<string> strs = new List<string>();
            try
            {
                string uri = "ftp://192.168.1.100" + RequedstPath;   //目标路径 path为服务器地址        ②
                FtpWebRequest reqFTP = (FtpWebRequest)WebRequest.Create(new Uri(uri));
                // ftp用户名和密码
                reqFTP.Credentials = new NetworkCredential("用户名", "密码");                   ③
                reqFTP.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
                WebResponse response = reqFTP.GetResponse();
                StreamReader reader = new StreamReader(response.GetResponseStream());//中文文件名

                string line = reader.ReadLine();                                     ④   
                while (line != null)
                {
                    if (!line.Contains("<DIR>"))
                    {
                        string msg = line.Substring(0).Trim();
                        msg = msg.Substring(msg.Length - 24, 24);                         ⑤
                        strs.Add(msg);
                    }
                    line = reader.ReadLine();
                }
                reader.Close();
                response.Close();
                return strs;
            }
            catch (Exception ex)
            {
                Console.WriteLine("获取文件出错:" + ex.Message);
            }
            return strs;
        }

看详解:

①:RequedstPath是我FTP服务器上要查询的文件所在的目录,做成变量传入即可

②:uri即我的FTP服务器地址,假设是192.168.1.100

③:用户名和密码输入自己的就行了

④:开始读取了

⑤:读取出来后我要一行一行的处理,因为读出来并不是只有文件名,还有大小、类型、修改时间,我把多余的字符串截掉只取有用的

到这里就完成了,把读出来的数据放到list里然后返回出去,再放到combox下拉框效果是这样的

C#获取FTP服务器上的文件_文件名_02

C#获取FTP服务器上的文件_文件名_03

 是ok的,可以查出来

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: 08 mysql索引概述 下一篇: 聚合支付项目-09
  1. 分享:
最后一次编辑于 2023年12月15日 0

暂无评论

推荐阅读
WDCdPJue8CCV