private void refresh() { try { tvDir.Nodes.Clear(); var connectionInfo = new ConnectionInfo(txtIp.Text, int.Parse(txtPort.Text), txtUser.Text, new PasswordAuthenticationMethod(txtUser.Text, txtPassword.Text)); using (var client = new SftpClient(connectionInfo)) { client.Connect(); var list = client.ListDirectoryAsync(txtPath.Text); TreeNode root = new TreeNode(txtUser.Text + ":根结点"); foreach (var item in list.Result) { TreeNode node = new TreeNode(item.Name); node.Tag = item; node.ToolTipText = "Length:" + item.Length + "LastAccessTime:" + item.LastAccessTime + "owner:" + item.UserId + "groupId:" + item.GroupId; if (item.IsDirectory) { node.ImageIndex = 1; node.SelectedImageIndex = 1; } root.Nodes.Add(node); } tvDir.Nodes.Add(root); tvDir.ExpandAll(); } } catch (Exception ex) { MessageBox.Show("没有权限或路径不正确!" + ex.Message + ex.StackTrace); } }
private void viewDir(string dir) { lvFiles.Items.Clear(); txtPath.Text = dir; var connectionInfo = new ConnectionInfo(txtIp.Text, int.Parse(txtPort.Text), txtUser.Text, new PasswordAuthenticationMethod(txtUser.Text, txtPassword.Text)); using (var client = new SftpClient(connectionInfo)) { try { client.Connect(); var list = client.ListDirectoryAsync(dir); foreach (var item in list.Result) { ListViewItem p = new ListViewItem(item.Name); p.Tag = item; if (item.IsDirectory) { p.ImageIndex = 1; } lvFiles.Items.Add(p); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
public async Task <List <string> > GetListOfDownloadedFiles() { using (var sftpClient = new SftpClient(_webConfiguration.Sftp.RemoteHost, Convert.ToInt32(_webConfiguration.Sftp.Port), _webConfiguration.Sftp.Username, _webConfiguration.Sftp.Password)) { sftpClient.Connect(); var fileList = await sftpClient.ListDirectoryAsync($"{_webConfiguration.Sftp.ProofDirectory}"); return(fileList.Where(f => !f.IsDirectory).Select(file => file.Name).ToList()); } }
/// <summary> /// Returns a list of folders inside the given path (folder) /// </summary> public static async Task <IEnumerable <string> > ListFolders(string path) { if (FTP) { var list = await ftpc.GetListingAsync(path); return(list.Where(x => x.Type == FtpFileSystemObjectType.Directory).Select(x => x.Name)); } else { var list = await sftpc.ListDirectoryAsync(path); return(list.Where(x => x.IsDirectory && x.Name != "." && x.Name != "..").Select(x => x.Name)); } }
public async Task LogUploadDirectory() { using (var sftpClient = new SftpClient(_webConfiguration.Sftp.RemoteHost, Convert.ToInt32(_webConfiguration.Sftp.Port), _webConfiguration.Sftp.Username, _webConfiguration.Sftp.Password)) { sftpClient.Connect(); var fileList = await sftpClient.ListDirectoryAsync($"{_webConfiguration.Sftp.UploadDirectory}"); var fileDetails = new StringBuilder(); foreach (var file in fileList) { fileDetails.Append(file + "\r\n"); } if (fileDetails.Length > 0) { _aggregateLogger.LogInfo( $"Uploaded Files to {_webConfiguration.Sftp.UploadDirectory} Contains\r\n{fileDetails}"); } } }