C# 所有步骤都很好,但文件不会在SFTP中返回
我有一个任务要在.net程序中执行SFTP。一切都很好,只是我们没有取回文件。在调试过程中,我没有在步骤中得到任何错误,但问题是没有文件返回。在手动SCP中,我们必须复制粘贴返回的文件,我们希望实现自动化 App.configC# 所有步骤都很好,但文件不会在SFTP中返回,c#,scp,winscp-net,C#,Scp,Winscp Net,我有一个任务要在.net程序中执行SFTP。一切都很好,只是我们没有取回文件。在调试过程中,我没有在步骤中得到任何错误,但问题是没有文件返回。在手动SCP中,我们必须复制粘贴返回的文件,我们希望实现自动化 App.config <appSettings> <add key="HostName" value="marketing.sftp.myhub.com" /> <add key="UserName" value="marketing" />
<appSettings>
<add key="HostName" value="marketing.sftp.myhub.com" />
<add key="UserName" value="marketing" />
<add key="Password" value="mypassword" />
<add key="SshHostKeyFingerprint" value="ssh-rsa 2047 za:5z:z6:77:36:d6:94:89:44:15:b0:ca:59:bf:d3:92" />
<add key="LocalPath" value="\\server-app01\cust\SC\AMAZON\WINSCP\TESTAMAZON" />
<!-- this is local folder path -->
<add key="RemotePath" value="/outgoing/orders/AMAZON/" />
<!-- this is remote system directory path -->
<add key="ClientSettingsProvider.ServiceUri" value="" />
</appSettings>
设置
session.SessionLogPath
并显示日志。+您可能希望在localPath
和*
之间添加反斜杠。
try
{
// Setup session options
SessionOptions sessionOptions = new SessionOptions
{
//Passing HostName , Password, & UserName here. port number
Protocol = Protocol.Sftp,
HostName = ConfigurationManager.AppSettings["HostName"].ToString(),
UserName = ConfigurationManager.AppSettings["UserName"].ToString(),
Password = ConfigurationManager.AppSettings["Password"].ToString(),
SshHostKeyFingerprint = ConfigurationManager.AppSettings["SshHostKeyFingerprint"].ToString()
};
string LocalPath = ConfigurationManager.AppSettings["LocalPath"].ToString();
string RemotePath = ConfigurationManager.AppSettings["RemotePath"].ToString();
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
// Upload files
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult;
transferResult = session.PutFiles(LocalPath + "*", RemotePath, false, transferOptions);
// Throw on any error
transferResult.Check();