FTPで転送したファイルの転送結果を確認することができますか?

文書番号 : 36461     文書種別 : 使用方法     登録日 : 2013/09/10     最終更新日 : 2013/09/10
文書を印刷する
対象製品
Secure iNetSuite for .NET 4.0J
詳細
転送結果を確認するためには、CopyResultクラスを使用します。
転送メソッド(Ftp.Get、Ftp.Putなど)を呼び出すと、その転送結果は、CopyResultオブジェクト(またはCopyResultオブジェクトのList)に返されますので、この内容を参照します。

以下のサンプルでは、複数ファイルを取得した際の転送結果を確認しています。

◎サンプルコード(VB)
' CopyResultクラスのリストを宣言します。
Dim result As List(Of Dart.Ftp.CopyResult)

' *** FTPサーバー、ユーザー名、パスワードを指定します。
Ftp1.Session.RemoteEndPoint.HostNameOrAddress = "FTPサーバー"
Ftp1.Session.Username = "ユーザー名"
Ftp1.Session.Password = "パスワード"

' *** FTPサーバーにログインします。
Ftp1.Connect()
Ftp1.Authenticate()

' *** ファイルを一括ダウンロードします。
Dim getlist As Dart.Ftp.Listing = Ftp1.List("TEST", "*.txt", Dart.Ftp.ListType.Full)
result = Ftp1.Get(getlist, "TEST", "C:¥TEMP¥FTPTEST", Dart.Ftp.Synchronize.Off)

' *** 結果を確認します。
If result.Count = 0 Then
  Debug.Print("該当するファイルが見つかりません。")
Else
  For Each r As Dart.Ftp.CopyResult In result
    If r.Status = Dart.Ftp.CopyStatus.Failed Then
      ' Statusが Failed の場合は転送に失敗しました。
      Debug.Print("転送失敗({0})", r.RemotePath)

    ElseIf r.Status = Dart.Ftp.CopyStatus.Aborted Then
      ' Statusが Aborted の場合は処理が中止されました。
      Debug.Print("転送中止({0})", r.RemotePath)

    ElseIf r.Status = Dart.Ftp.CopyStatus.Completed Then
      ' 正常に受信したファイル名を表示します。
      Debug.Print("取得ファイル({0})", r.LocalPath)
    End If
  Next
End If

' *** 接続を切断します。
Ftp1.Close()

◎サンプルコード(C#)
// CopyResultクラスのリストを宣言します。
List<Dart.Ftp.CopyResult> result;

// *** FTPサーバー、ユーザー名、パスワードを指定します。
ftp1.Session.RemoteEndPoint.HostNameOrAddress = "FTPサーバー";
ftp1.Session.Username = "ユーザー名";
ftp1.Session.Password = "パスワード";

// *** FTPサーバーにログインします。
ftp1.Connect();
ftp1.Authenticate();

// *** ファイルを一括ダウンロードします。
Dart.Ftp.Listing getlist = ftp1.List("TEST", "*.txt", Dart.Ftp.ListType.Full);
result = ftp1.Get(getlist, "TEST", "C:¥¥TEMP¥¥FTPTEST", Dart.Ftp.Synchronize.Off);

// *** 結果を確認します。
if (result.Count == 0)
{
  Console.WriteLine("該当するファイルが見つかりません。");
}
else
{
  foreach (Dart.Ftp.CopyResult r in result)
  {
    if (r.Status == Dart.Ftp.CopyStatus.Failed)
    {
      // Statusが Failed の場合は転送に失敗しました。
      Console.WriteLine("転送失敗({0})", r.RemotePath);
    }
    else if (r.Status == Dart.Ftp.CopyStatus.Aborted)
    {
      // Statusが Aborted の場合は処理が中止されました。
      Console.WriteLine("転送中止({0})", r.RemotePath);
    }
    else if (r.Status == Dart.Ftp.CopyStatus.Completed)
    {
      // 正常に受信したファイル名を表示します。
      Console.WriteLine("取得ファイル({0})", r.LocalPath);
    }
  }
}

// *** 接続を切断します。
ftp1.Close();
キーワード
機能・仕様