private void MICopyFileName_Click(object sender, RoutedEventArgs e) { if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } List <MyFileInfo> list = new List <MyFileInfo>(); foreach (var item in dgResult.SelectedItems) { MyFileInfo info = (MyFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { StringBuilder sb = new StringBuilder(); foreach (var qiNiuFileInfo in list) { sb.AppendLine(qiNiuFileInfo.FileName); } if (!string.IsNullOrWhiteSpace(sb.ToString())) { Clipboard.SetText(sb.ToString()); } } }
private void ReName() { if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } List <MyFileInfo> list = new List <MyFileInfo>(); foreach (var item in dgResult.SelectedItems) { MyFileInfo info = (MyFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { RenameWindow rw = new RenameWindow() { WindowStartupLocation = WindowStartupLocation.CenterOwner, Owner = this, FileName = list[0].FileName, S3Manager = _client, Bucket = S3Cfg.BucketName }; rw.ShowDialog(); Search(); } }
private void DownLoad() { //1.获得表中选中的数据 if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } //2.选择下载保存的路径 var sfd = new System.Windows.Forms.FolderBrowserDialog { Description = @"选择保存位置", ShowNewFolderButton = true }; if (sfd.ShowDialog() != System.Windows.Forms.DialogResult.OK) { return; } fileSaveDir = sfd.SelectedPath; List <MyFileInfo> list = new List <MyFileInfo>(); foreach (var item in dgResult.SelectedItems) { MyFileInfo info = (MyFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { //执行批量下载方法 //使用线程池 btnBatchDownload.IsEnabled = false; ThreadPool.QueueUserWorkItem(state => { batchDownLoad(list); }); LoadProgressBar(); Thread.Sleep(10); } pb1.Visibility = Visibility.Hidden; btnBatchDownload.IsEnabled = true; }
private void Delete() { //1.获得表中选中的数据 if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } List <MyFileInfo> list = new List <MyFileInfo>(); foreach (var item in dgResult.SelectedItems) { MyFileInfo info = (MyFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { string msg = string.Join(",\r\n", list.Select(q => q.FileName)); MessageBoxResult confirmToDel = MessageBox.Show("确认要删除所选行吗?\r\n" + msg, "提示", MessageBoxButton.YesNo, MessageBoxImage.Question); if (confirmToDel != MessageBoxResult.Yes) { return; } //执行批量删除 List <string> ops = new List <string>(); foreach (var key in list) { S3Helper.Delete(_client, S3Cfg.BucketName, key.FileName); } Search(); Thread.Sleep(10); } }
private void Preview() { if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } List <MyFileInfo> list = new List <MyFileInfo>(); foreach (var item in dgResult.SelectedItems) { MyFileInfo info = (MyFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { string tempfile = Path.Combine(Environment.GetEnvironmentVariable("TEMP"), S3Helper.RemoveWindowsFileNameSpicalChar(list[0].FileName)); System.Threading.ThreadPool.QueueUserWorkItem((state) => { bool res = S3Helper.Download(_client, S3Cfg.BucketName, list[0].FileName, tempfile); Dispatcher.Invoke(new Action(() => { if (res) { System.Diagnostics.Process.Start(tempfile); } })); }); } }
private void Search() { if (btnSearch.IsEnabled == false) { return; } btnSearch.IsEnabled = false; if (string.IsNullOrWhiteSpace(marker)) { num = 1; myFileInfoList = new List <MyFileInfo>(); } if (!string.IsNullOrWhiteSpace(SyncTargetBucketsComboBox.Text)) { S3Cfg.BucketName = SyncTargetBucketsComboBox.Text; } startWith = txtStartWith.Text.Trim(); ThreadPool.QueueUserWorkItem((state) => { //ListResult listResult = bucketManager.ListFiles(bucket, startWith, marker, 5000, ""); ListObjectsRequest request = new ListObjectsRequest(); request.BucketName = S3Cfg.BucketName; request.Marker = marker; request.Prefix = startWith; request.MaxKeys = 1000; // request.Delimiter = null; ListObjectsResponse response = _client.ListObjects(request); Dispatcher.Invoke(new Action(() => { if (response.HttpStatusCode == HttpStatusCode.OK && response.S3Objects.Count > 0) { marker = response.NextMarker; foreach (S3Object item in response.S3Objects) { // item.EndUser var f = new MyFileInfo { FileName = item.Key, FileType = S3Helper.GetFileType(item.Key), StorageType = item.StorageClass.Value, FileSize = S3Helper.GetFileSize(item.Size), EndUser = item.Owner.DisplayName, CreateDate = item.LastModified.ToString("yyyy/MM/dd HH:mm:ss") }; myFileInfoList.Add(f); } if (myFileInfoList.Count > 0) { //dgResult.ItemsSource = !string.IsNullOrWhiteSpace(txtEndWith.Text) // ? qiNiuFileInfoList.Where(f => f.FileName.EndsWith(txtEndWith.Text.Trim())) // : qiNiuFileInfoList; var list = myFileInfoList; if (!string.IsNullOrWhiteSpace(txtEndWith.Text)) { list = myFileInfoList.Where(f => f.FileName.EndsWith(txtEndWith.Text.Trim())).ToList(); } if (list.Count > 0) { // dgResult.ItemsSource = list.OrderBy(t => t.CreateDate).ToList(); num = 1; list = list.OrderByDescending(t => t.CreateDate).ToList(); foreach (var s in list) { s.Num = num++; } dgResult.ItemsSource = list; } else { dgResult.ItemsSource = new List <MyFileInfo>(); } // dgResult.ItemsSource = list; } else { marker = string.Empty; dgResult.ItemsSource = new List <MyFileInfo>(); } btnSearch.IsEnabled = true; } })); }); }