0

我的任务是在 .net 程序中执行 SFTP。一切都很好,只是我们没有取回文件。在调试中,步骤中没有任何错误,但问题是没有文件返回。在手动 SCP 中,我们必须复制粘贴返回的文件,我们希望自动执行此操作。

应用程序配置

<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>

程序.cs

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();
4

0 回答 0