0

可能であれば、ftpサーバーに接続し、ローカルファイルのリストを繰り返し処理して、サーバー上に存在するかどうかを確認する方法を探しています。今、私は見つけました:

var request = (FtpWebRequest)WebRequest.Create("ftp://ftp.domain.com/doesntexist.txt");

request.Credentials = new NetworkCredential("user", "pass");
request.Method = WebRequestMethods.Ftp.GetFileSize;

try
{
    var response = (FtpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
    var response = (FtpWebResponse)ex.Response;
    if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
    {
        //Does not exist
    }
}

しかし、この権利を読んだ場合(まだコーヒーを飲んでいない場合)、WebRequestファイルごとにが作成されます。全体的な目標は、これらのファイルが存在するかどうかを確認し、存在しない場合はアップロードすることです。私の質問は、これを個別に行う必要があるのか​​、それともFTPに一度接続してからチェック/アップロードを行うことは可能(または実現可能)ですか?

4

1 に答える 1

2

1)ここで説明されているようにFTPからファイルのリストを取得します

2)Directory.GetFiles()を使用してローカルファイルのリストを取得します

3)一方のリストをループして、もう一方のリストにアイテムが含まれているかどうかを確認します

于 2012-12-21T20:21:03.893 に答える