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

问题描述:

我上运行时如何通过Sharp SSH库传输内存流对象?

 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

你可以添加一些关于“不工作”的细节吗?你有错误吗? – Markus

+0

我已编辑说明。请阅读最后几行 – yrahman

使用SftpClient.UploadFile而不是ScpClient.Upload

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