C#FTP - 覆盖文件

时间:2013-04-10 17:10:16

标签: c# ftp

我正在尝试创建一个小应用程序,我可以选择多个文件,设置间隔并设置FTP服务器信息。之后,它以给定的间隔上传文件。

我在FTP部分苦苦挣扎。我可以从这里轻松复制/粘贴代码的某些部分,但我认为这不会对我有所帮助。基本上我需要检查文件是否存在,如果存在,删除它并上传新版本,如果它不存在则只上传文件。

怎么能以最简单的方式完成?我不是在寻找有关如何做到这一点的提示,我正在寻找实际的代码,并对什么做什么评论。

编辑:根据这里的回复,我认为我正在寻找的是一种覆盖文件的方法。实际上这是我的第一个想法,但我找不到任何关于如何,然后我只是得出结论,我手动需要检查等等。对不起,我很抱歉。有人能给我一些暗示我需要覆盖的东西吗?

1 个答案:

答案 0 :(得分:7)

尝试这样的事情

var request = (FtpWebRequest)WebRequest.Create("ftp://ftp.myworld.com/file.txt");
request.Credentials = new NetworkCredential("username", "password");
request.Method = WebRequestMethods.Ftp.GetFileSize;

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

  // To delete file
  FtpWebRequest delRequest = (FtpWebRequest)WebRequest.Create(serverUri);
  delRequest.Credentials = new NetworkCredential("username", "password");
  delRequest.Method = WebRequestMethods.Ftp.DeleteFile;
  FtpWebResponse response = (FtpWebResponse) delRequest.GetResponse();
}
catch(Exception e)
{
   var response = (FtpWebResponse)ex.Response;
   if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
   {
       //not exist
   }
}