如何通过Sharp SSH库传输内存流对象?

时间:2014-03-26 12:19:27

标签: c# sftp sharpssh

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

        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");

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

使用SftpClient.UploadFile代替ScpClient.Upload

如果这没有帮助,请确保您的防火墙设置正确。使用WireShark等工具来监控通信是非常有帮助的,以防出现一些奇怪的错误(它还可以让您轻松查看身份验证错误等)。