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

问题描述 投票:0回答:1

我需要使用 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 位置读取文件内容吗?预先感谢!

c# ftp sftp winscp winscp-net
1个回答
3
投票

使用

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()
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.