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

标签 c# ftp sftp winscp winscp-net

我需要使用 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()
    }
}

关于c# - 使用 WinSCP 从 SFTP 位置读取文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36576117/

相关文章:

c# - 如何在 .NET 中检测 mp3 的频率?

c# - 从 C# : Catch Runtime error from VBA 运行 Excel 宏

go - 在 golang 中实现 github.com/jlaffaye/ftp

linux - Bash 命令根据添加日期每天归档文件

java - SFTP 下载未完成

c# - 使用 Dapper 将参数传递到 SQL 校验和函数

c# - HttpWebRequest 限制?或者实现不当

python - 如何通过python同步两个ftp服务器

php - 什么导致 "Expected SSH_FXP_STATUS"错误?

java - JSch SFTP 放入 IBM z/OS 失败 :failed to write file; nested exception is 3: Permission denied