2

ファイルの内容を読み取るか、ファイルのバイトを読み取って、データベースに保存する必要があります。

.NETSystem.IO.Fileを使用すると、単純に を呼び出すことができますFile.ReadAllBytes(file)

を使用して、WinSCP .NETアセンブリでそれを行う方法はRemoteFileInfo?

4

1 に答える 1

2

WinSCP .NET アセンブリは、現在のベータ版 (5.18) でのみストリームを使用してリモート ファイルのコンテンツを提供することをサポートし、次のSession.GetFileメソッドを使用します。

using (Stream stream = session.GetFile("/path/file.ext"))
{
    // use the stream
}

現在の安定版では、ファイルをローカルの一時的な場所にダウンロードして、そこからメモリに読み込むことしかできません。

using (Session session = new Session())
{
    // Connect
    session.Open(sessionOptions);
     
    // Download to a temporary folder
    var transfer = session.GetFileToDirectory(remotePath, Path.GetTempPath());
    
    try
    {
        // Read the file contents
        byte[] contents = File.ReadAllBytes(transfer.Destination);
    }
    finally
    {
        // Delete the temporary file
        File.Delete(transfer.Destination);
    }
}

類似の質問: WinSCP .NET アセンブリを使用してリモート ファイルの内容にストリームとしてアクセスする

于 2016-02-10T17:10:44.850 に答える