GrapeCity Secure FTP for .NET 4.0J
複数のファイルをアップロードする

複数のファイルを一括してアップロードするには、Put(List,String,String,Synchronize)メソッドを使用します。

  • Put(List,String,String,Synchronize)メソッドの第4引数により、タイムスタンプの新しいファイルのみをアップロードしたり、すべてのファイルを上書きでアップロードしたりすることができます。詳細については「Synchronize 列挙体」をご覧ください。
  • このトピックのサンプルコードでは、サーバーとの接続に関する処理を省略しています。接続処理については「FTPサーバーとの接続」をご覧ください。

リストを指定して一括アップロードする

ListメソッドまたはListDirectoryTreeメソッドでアップロードするファイルのリストを作成し、そのリストをPut(List,String,String,Synchronize)メソッドの引数に指定します。

ListDirectoryTreeメソッドを使用すると、サブディレクトリ以下を含むファイルのリストを作成できます。この場合はサブディレクトリ以下のファイルもアップロード対象になり、ディレクトリごとアップロードが行われます。

Visual Basic
コードのコピー
' アップロード対象のファイルが存在するディレクトリです。
Dim myLocalDirectory As String = "c:\temp"

' アップロードするファイルのリストを取得します。
' ここでは、c:\temp\ディレクトリ内の全ファイルを対象にしています。
Dim rootDir As New System.IO.DirectoryInfo(myLocalDirectory)
Dim files As System.IO.FileSystemInfo() = rootDir.GetFiles("*.*")
Dim filesToPut As List(Of System.IO.FileSystemInfo) = files.ToList()

' 特定のファイルをアップロードしない場合は、そのファイルをリストから削除します。
' ここでは、"not_me.txt"というファイルをリストから削除しています。
'Dim fileToExclude As New System.IO.FileInfo(myLocalDirectory + "\" + "not_me.txt")
'filesToPut.Remove(fileToExclude)

' FTPサーバーのカレントディレクトリ名を取得します。
Dim workingDirectory As String = Ftp1.GetDirectory()

' mputディレクトリにファイルをアップロードします。
' ディレクトリが存在しない場合は、ディレクトリを作成します。
Ftp1.Put(filesToPut, myLocalDirectory, workingDirectory + "/mput", Dart.Ftp.Synchronize.Off)
C#
コードのコピー
// アップロード対象のファイルが存在するディレクトリです。
string myLocalDirectory = "c:\\temp";

// アップロードするファイルのリストを取得します。
// ここでは、c:\temp\ディレクトリ内の全ファイルを対象にしています。
System.IO.DirectoryInfo rootDir = new System.IO.DirectoryInfo(myLocalDirectory);
System.IO.FileSystemInfo[] files = rootDir.GetFiles("*.*");
List<System.IO.FileSystemInfo> filesToPut = files.ToList();

// 特定のファイルをアップロードしない場合は、そのファイルをリストから削除します。
// ここでは、"not_me.txt"というファイルをリストから削除しています。
//System.IO.FileInfo fileToExclude = new System.IO.FileInfo(myLocalDirectory + "\\" + "not_me.txt");
//filesToPut.Remove(fileToExclude);

// FTPサーバーのカレントディレクトリ名を取得します。
string workingDirectory = ftp1.GetDirectory();

// mputディレクトリにファイルをアップロードします。
// ディレクトリが存在しない場合は、ディレクトリを作成します。
ftp1.Put(filesToPut, myLocalDirectory, workingDirectory + "/mput", Dart.Ftp.Synchronize.Off);

ディレクトリを指定して一括アップロードする

Put(List,String,String,Synchronize)メソッドの第1引数にnullまたはNothingを指定すると、指定したディレクトリとサブディレクトリ以下の全ファイルが、ディレクトリごとアップロードされます。

Visual Basic
コードのコピー
' FTPサーバーのカレントディレクトリ名を取得します。
Dim workingDirectory As String = Ftp1.GetDirectory()

' "c:\temp"ディレクトリ以下のファイルを、"mput"ディレクトリをアップロードします。
' ディレクトリが存在しない場合は、ディレクトリを作成します。
Ftp1.Put(Nothing, "c:\temp", workingDirectory + "/mput", Dart.Ftp.Synchronize.Off)
C#
コードのコピー
// FTPサーバーのカレントディレクトリ名を取得します。
string workingDirectory = ftp1.GetDirectory();

// "c:\temp"ディレクトリ以下のファイルを、"mput"ディレクトリをアップロードします。
// ディレクトリが存在しない場合は、ディレクトリを作成します。
ftp1.Put(null, "c:\\temp", workingDirectory + "/mput", Dart.Ftp.Synchronize.Off);

 

 


© 2002, GrapeCity inc. All rights reserved.