为了账号安全,请及时绑定邮箱和手机立即绑定

C#通过FTP下载所有文件和子目录

C#通过FTP下载所有文件和子目录

互换的青春 2019-07-27 10:58:09
C#通过FTP下载所有文件和子目录一般信息我还在学习C#。为了帮助自己,我正在尝试创建一个程序,它将自动将我的所有本地项目与我的FTP服务器上的文件夹同步。这样,无论我是在学校还是在家,我总是可以使用相同的项目。我知道像Dropbox这样的程序已经为我做了这个,但我想创造类似的东西,我自己会教我很多东西。问题我迈向目标的第一步是从我的FTP服务器下载所有文件,子目录和子文件。我已经设法从下面的代码下载目录中的所有文件。但是,我的代码只列出了主目录中的文件夹名称和文件。子文件夹和子文件永远不会返回,也永远不会下载。除此之外,服务器返回550错误,因为我正在尝试下载文件夹,就像它们是文件一样。我已经在这上面了4个多小时了,但我找不到任何关于如何解决这些问题并让它发挥作用的事情。因此,我希望你们能帮助我:)码public string[] GetFileList(){     string[] downloadFiles;     StringBuilder result = new StringBuilder();     WebResponse response = null;     StreamReader reader = null;     try     {         FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url);         request.UseBinary = true;         request.Method = WebRequestMethods.Ftp.ListDirectory;         request.Credentials = new NetworkCredential(ftpUserName, ftpPassWord);         request.KeepAlive = false;         request.UsePassive = false;         response = request.GetResponse();         reader = new StreamReader(response.GetResponseStream());         string line = reader.ReadLine();         while (line != null)         {             result.Append(line);             result.Append("\n");             line = reader.ReadLine();         }         result.Remove(result.ToString().LastIndexOf('\n'), 1);         return result.ToString().Split('\n');     }     catch (Exception ex)     {         if (reader != null)         {             reader.Close();         }         if (response != null)         {             response.Close();         }         downloadFiles = null;         return downloadFiles;     }}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 761 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信