GrapeCity Secure FTP for .NET 4.0J
Put(List<FileSystemInfo>,String,String,Synchronize) メソッド
使用例 

アップロードするファイルと作成するフォルダーを表すFileSystemInfoオブジェクトのリスト。localRootで見つかったすべてのファイル、ディレクトリー、およびサブディレクトリーをコピーする場合は、nullを使用します。
リモートパスに対応するルートディレクトリー。
ファイルおよびフォルダーのコピー先のリモートルートディレクトリー。
必要なファイル同期方法(必要な場合)。
単一のメソッドを使用して指定したファイルおよびフォルダーをサーバーに保存します。
シンタックス
Public Overloads Function Put( _
   ByVal localFileSystemInfos As List(Of FileSystemInfo), _
   ByVal localRoot As String, _
   ByVal remoteRoot As String, _
   ByVal sync As Synchronize _
) As List(Of CopyResult)

パラメータ

localFileSystemInfos
アップロードするファイルと作成するフォルダーを表すFileSystemInfoオブジェクトのリスト。localRootで見つかったすべてのファイル、ディレクトリー、およびサブディレクトリーをコピーする場合は、nullを使用します。
localRoot
リモートパスに対応するルートディレクトリー。
remoteRoot
ファイルおよびフォルダーのコピー先のリモートルートディレクトリー。
sync
必要なファイル同期方法(必要な場合)。

戻り値の型

CopyResultオブジェクトのList。
解説

このリスト内のFileInfoオブジェクトによって指定されたファイルを含むlocalRoot配下のサブフォルダーがremoteRootに存在しない場合は、そのサブフォルダーに対応するDirectoryInfoオブジェクトをlocalFileSystemInfosに含める必要があります。

このメソッドの実行中、DataIsBusyはtrueを返します。

使用例
以下のサンプルコードは、サーバーに複数のファイルを保存する方法を示します。 getFile関数は、Ftp.Startメソッドに渡して非同期に実行できます。
private void mput()
{
    // テキストファイルをディレクトリーに保存します。
    ftp1.Session.RemoteEndPoint.HostNameOrAddress = myServer;
    ftp1.Session.Username = myUsername;
    ftp1.Session.Password = myPassword;
    ftp1.Connect();
    ftp1.Authenticate();

    // 保存するtxtファイルのリストを取得します。
    System.IO.DirectoryInfo rootDir = new System.IO.DirectoryInfo(myLocalDirectory);
    System.IO.FileInfo[] files = rootDir.GetFiles("*.txt");
    System.IO.FileInfo fileToExclude = new System.IO.FileInfo(myLocalDirectory + "\\" + "not_me.txt");

    // .NET Frameworkのバージョンが4.0より前の場合は、次の行をコメントアウトしたコードに置き換えてください。
    //List<System.IO.FileSystemInfo> filesToPut = new List<System.IO.FileSystemInfo>();
    //foreach (System.IO.FileInfo file in files) filesToPut.Add(file);
    List<System.IO.FileSystemInfo> filesToPut = files.ToList<System.IO.FileSystemInfo>();

    // Putを呼び出す前にリストを変更します。
    filesToPut.Remove(fileToExclude);

    // ファイルを保存します。
    ftp1.Put(filesToPut, myLocalDirectory, "MyTextFiles", Synchronize.Off);

    // ログアウトします。
    ftp1.Close();
}
Private Sub mput()
    ' テキストファイルをディレクトリーに保存します。
    ftp1.Session.RemoteEndPoint.HostNameOrAddress = myServer
    ftp1.Session.Username = myUsername
    ftp1.Session.Password = myPassword
    ftp1.Connect()
    ftp1.Authenticate()

    ' 保存するtxtファイルのリストを取得します。
    Dim rootDir As New System.IO.DirectoryInfo(myLocalDirectory)
    Dim files As System.IO.FileSystemInfo() = rootDir.GetFiles("*.txt")
    Dim fileToExclude As New System.IO.FileInfo(myLocalDirectory + "\" + "not_me.txt")

    ' .NET Frameworkのバージョンが4.0より前の場合は、次の行をコメントアウトしたコードに置き換えてください。
    'Dim filesToPut As List(Of System.IO.FileSystemInfo) = New List(Of System.IO.FileSystemInfo)
    'For Each file In files
        'filesToPut.Add(file)
    'Next
    Dim filesToPut As List(Of System.IO.FileSystemInfo) = files.ToList()

    ' Putを呼び出す前にリストを変更します。
    filesToPut.Remove(fileToExclude)

    ' ファイルを保存します。
    ftp1.Put(filesToPut, myLocalDirectory, "MyTextFiles", Synchronize.Off)

    ' ログアウトします。
    ftp1.Close()
End Sub
参照

関連項目

Ftp クラス
Ftp メンバ
オーバーロード一覧

 

 


© 2002, GrapeCity inc. All rights reserved.