如何通过夏普SSH库传输内存流对象

本文关键字:内存 对象 传输 何通过 夏普 SSH | 更新日期: 2023-09-27 17:53:25

我正在创建一个运行时内存流

        var stream = new MemoryStream();
        var writer = new StreamWriter(stream); 
        writer.WriteLine("There could by any text over here....");
        writer.Flush();
        stream.Position = 0;

现在我想通过SSH库将此内存流传输到远程SFTP服务器,并希望将其保存在该SFTP服务器上。

我已经尝试以下代码,但它不工作

     using (var scp = new ScpClient("HostName", "test", "test"))
        {
            scp.Connect();
            scp.Upload(stream, "/Files/Test/temp.txt");
            scp.Disconnect();
        }

它永远卡在下一行没有任何错误

scp.Upload(stream, "/Files/Test/temp.txt");
有谁能帮帮忙吗?

如何通过夏普SSH库传输内存流对象

SftpClient.UploadFile代替ScpClient.Upload

如果这不起作用,请确保您的防火墙设置正确。使用WireShark这样的工具来监控通信是非常有用的,以防出现一些奇怪的错误(它还可以让你很容易地看到身份验证错误等)。