コード例 #1
0
        private List <string> getFtpDirectoryListing(firedumpdbDataSet.backup_locationsRow location, string path)
        {
            List <string>        filesindir = new List <string>();
            FTPCredentialsConfig ftpConfig  = new FTPCredentialsConfig();

            ftpConfig.id       = location.id;
            ftpConfig.host     = location.host;
            ftpConfig.port     = (int)location.port;
            ftpConfig.username = location.username;
            ftpConfig.password = location.password;
            if (location.usesftp == 1)
            {
                ftpConfig.useSFTP = true;
                ftpConfig.SshHostKeyFingerprint = location.ssh_key_fingerprint;
            }
            if (!string.IsNullOrEmpty(location.ssh_key))
            {
                ftpConfig.usePrivateKey  = true;
                ftpConfig.privateKeyPath = location.ssh_key;
            }
            FTPUtils ftputils = new FTPUtils(ftpConfig);

            ftputils.startSession();
            List <WinSCP.RemoteFileInfo> dirList = ftputils.getDirectoryListing(path, false, false);

            ftputils.disposeSession();
            foreach (WinSCP.RemoteFileInfo info in dirList)
            {
                filesindir.Add(info.FullName);
            }
            return(filesindir);
        }
コード例 #2
0
ファイル: FTPDirectory.cs プロジェクト: schifflee/LightBox
 private void FTPDirectory_FormClosed(object sender, FormClosedEventArgs e)
 {
     ftpUtils.disposeSession();
 }