Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
        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());
            }
        }
Esempio n. 4
0
        /// <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));
            }
        }
Esempio n. 5
0
        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}");
                }
            }
        }