使用 WinSCP 从 SFTP 位置读取文件内容

Read file content from SFTP location using WinSCP

我需要使用 C# 中的 WinSCP .NET 程序集从 SFTP 位置读取文件。 我能够将文件从 SFTP 位置下载到本地路径并读取它。 但是有没有办法不用下载到本地路径直接读取文件内容呢?

下面是用于下载的代码。但是我看不到直接在 WinSCP 中读取文件内容的选项...比如使用响应、流等...

TransferOptions objTransferoptions = new Transferoptions()
objTransferoptions.transfermode = Automatic
Session objsession = new Session()
objsession.Open()
objsession.GetFiles(remotepath, localpath, false,objTransferoptions)

有人可以告诉我,是否可以直接从 SFTP 位置读取文件内容?提前致谢!

编辑:

扩展上面的问题。谁能告诉我是否可以在 SFTP 远程位置之间复制文件(在同一 SFTP 服务器中从远程位置 1 到远程位置 2)。

请注意:我需要复制文件,而不是移动文件。

使用Session.GetFile将远程文件下载到内存。

using (Session session = new Session())
{
    // Connect
    session.Open(sessionOptions);
     
    using (var stream = session.GetFile(remotePath))
    {
        // now process the data in "stream" the same way you would
        // for example process a stream returned by System.IO.File.Open()
    }
}