我们目前正在使用WinSCP使用SFTP传输文件,但我们希望不必在两台SFTP服务器之间本地保存文件。有没有办法让我的应用程序充当“中间人”而不在本地保存文件?例如,用户单击按钮而不是应用程序从SFTP服务器A获取文件,然后将其传输到SFTP服务器B,而无需在中间本地保存文件。这是我正在使用或尝试使用的代码:
using (SftpClient clientSSA = new SftpClient(ConfigurationManager.AppSettings["SSA.IP"],
ConfigurationManager.AppSettings["SSA.Username"],
ConfigurationManager.AppSettings["SSA.Password"]))
{
using (SftpClient clientTracker = new SftpClient(ConfigurationManager.AppSettings["Tracker.IP"],
ConfigurationManager.AppSettings["Tracker.Username"],
ConfigurationManager.AppSettings["Tracker.Password"]))
{
using (MemoryStream stream = new MemoryStream())
{
String remotePath = Path.Combine(@"D:\", "Wages", "wage_request.txt");
String trackerPath = Path.Combine(@"D:\", "Wages", "wage_response_RENCI.txt");
clientSSA.Connect();
clientSSA.DownloadFile(remotePath, stream);
clientTracker.Connect();
clientTracker.UploadFile(stream, trackerPath);
}
}
}
如果SSH.net无法做到这一点,那么哪个组件会让我?