GrapeCity Secure FTP for .NET 4.0J
Put(Stream,String,Int64,StoreType) メソッド
使用例 

読み取り元のソースストリーム。
サーバー上のファイルのパス。
データ転送を開始する位置を示すリスタートマーカー。storeTypeがStoreType.Replaceの場合に使用されます。
使用する保存タイプ。remoteOffset > 0の場合、storeTypeはStoreType.Replaceである必要があります。
指定したソースストリームの現在の位置からアップロードを開始し、宛先ファイルの指定したオフセット以降に書き込みます。
シンタックス
Public Overloads Function Put( _
   ByVal localSource As Stream, _
   ByVal remotePath As String, _
   ByVal remoteOffset As Long, _
   ByVal storeType As StoreType _
) As CopyResult

パラメータ

localSource
読み取り元のソースストリーム。
remotePath
サーバー上のファイルのパス。
remoteOffset
データ転送を開始する位置を示すリスタートマーカー。storeTypeがStoreType.Replaceの場合に使用されます。
storeType
使用する保存タイプ。remoteOffset > 0の場合、storeTypeはStoreType.Replaceである必要があります。

戻り値の型

操作の結果を含むCopyResult
解説

ソースストリームは閉じません。

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

使用例
以下のサンプルコードは、リスタートを使用してリモートファイルストリームの末尾に追記する方法を示します。 updateRemoteLog関数は、Ftp.Startメソッドに渡して非同期に実行できます。
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
参照

関連項目

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

 

 


© 2002, GrapeCity inc. All rights reserved.