Dart.Ftp 名前空間 > Ftp クラス > Put メソッド : Put(Stream,String,Int64,StoreType) メソッド |
Public Overloads Function Put( _ ByVal localSource As Stream, _ ByVal remotePath As String, _ ByVal remoteOffset As Long, _ ByVal storeType As StoreType _ ) As CopyResult
public CopyResult Put( Stream localSource, string remotePath, long remoteOffset, StoreType storeType )
ソースストリームは閉じません。
このメソッドの実行中、DataIsBusyはtrueを返します。
private void updateRemoteLog() { // 新しいローカルファイルデータをリモートファイルの末尾に追記します。 ftp1.Session.RemoteEndPoint.HostNameOrAddress = myServer; ftp1.Session.Username = myUsername; ftp1.Session.Password = myPassword; ftp1.Connect(); ftp1.Authenticate(); // サーバーでリスタートとサイズがサポートされていることを確認します。 if (ftp1.Features.Restart && ftp1.Features.Size) { // サーバーにはデータが周期的に追加されるログファイルがあります。 // サーバー上のファイルのサイズを取得します。 long size = ftp1.GetSize("update.log"); // System.IOを使用します。 FileStream localLogFile = new FileStream(myLogFile, FileMode.Open, FileAccess.Read); // ストリームの位置をリモートファイルのサイズに設定します。 localLogFile.Position = size; // このファイルに新しく追加されたデータを取得してリモートファイルの末尾に追記します。 ftp1.Put(localLogFile, "update.log", 0, StoreType.Append); localLogFile.Close(); } ftp1.Close(); }
Private Sub updateRemoteLog() ' 新しいローカルファイルデータをリモートファイルの末尾に追記します。 ftp1.Session.RemoteEndPoint.HostNameOrAddress = myServer ftp1.Session.Username = myUsername ftp1.Session.Password = myPassword ftp1.Connect() ftp1.Authenticate() ' サーバーでリスタートとサイズがサポートされていることを確認します。 If ftp1.Features.Restart AndAlso ftp1.Features.Size Then ' サーバーにはデータが周期的に追加されるログファイルがあります。 ' サーバー上のファイルのサイズを取得します。 Dim size As Long = ftp1.GetSize("update.log") ' System.IOを使用します。 Dim localLogFile As FileStream = New FileStream(myLogFile, FileMode.Open, FileAccess.Read) ' ストリームの位置をリモートファイルのサイズに設定します。 localLogFile.Position = size ' このファイルに新しく追加されたデータを取得してリモートファイルの末尾に追記します。 ftp1.Put(localLogFile, "update.log", 0, StoreType.Append) localLogFile.Close() End If ftp1.Close() End Sub