0

我正在运行时创建内存流

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

有人可以帮忙吗?

4

1 回答 1

0

使用SftpClient.UploadFile而不是ScpClient.Upload.

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

于 2014-03-26T13:39:26.537 回答