private void RefreshNetAddress() { if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } List <QiNiuFileInfo> list = new List <QiNiuFileInfo>(); foreach (var item in dgResult.SelectedItems) { QiNiuFileInfo info = (QiNiuFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { string[] urls = new string[list.Count]; for (var i = 0; i < list.Count; i++) { QiNiuFileInfo qiNiuFileInfo = list[i]; urls[i] = GetPublishUrl(qiNiuFileInfo.FileName); } MessageBox.Show(QiNiuHelper.RefreshUrls(mac, urls) ? "文件刷新成功" : "文件刷新失败"); } }
private void GetNetAddress(bool isPrivate = false) { if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } List <QiNiuFileInfo> list = new List <QiNiuFileInfo>(); foreach (var item in dgResult.SelectedItems) { QiNiuFileInfo info = (QiNiuFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { StringBuilder sb = new StringBuilder(); foreach (QiNiuFileInfo qiNiuFileInfo in list) { //根据文件名获得下载地址 sb.AppendLine(isPrivate ? GetPrivateUrl(qiNiuFileInfo.FileName) : GetPublishUrl(qiNiuFileInfo.FileName)); } if (!string.IsNullOrWhiteSpace(sb.ToString())) { Clipboard.SetText(sb.ToString()); } } }
private void MICopyFileName_Click(object sender, RoutedEventArgs e) { if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } List <QiNiuFileInfo> list = new List <QiNiuFileInfo>(); foreach (var item in dgResult.SelectedItems) { QiNiuFileInfo info = (QiNiuFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { StringBuilder sb = new StringBuilder(); foreach (QiNiuFileInfo qiNiuFileInfo in list) { sb.AppendLine(qiNiuFileInfo.FileName); } if (!string.IsNullOrWhiteSpace(sb.ToString())) { Clipboard.SetText(sb.ToString()); } } }
/// <summary> /// 修改DeleteAfterDays /// </summary> private void EditDeleteAfterDays() { if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } List <QiNiuFileInfo> list = new List <QiNiuFileInfo>(); foreach (var item in dgResult.SelectedItems) { QiNiuFileInfo info = (QiNiuFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { string[] urls = new string[list.Count]; qiNiuClientCfg.DeleteAfterDays = Convert.ToInt32(txtDelAfDays.Text.Trim()); StringBuilder sb = new StringBuilder(); foreach (QiNiuFileInfo qiNiuFileInfo in list) { HttpResult expireRet = bucketManager.DeleteAfterDays(bucket, qiNiuFileInfo.FileName, qiNiuClientCfg.DeleteAfterDays.Value); sb.AppendLine(expireRet.Code != (int)HttpCode.OK ? $"{qiNiuFileInfo.FileName}:修改删除时间失败!" : $"{qiNiuFileInfo.FileName}:修改删除时间成功!"); } MessageBox.Show(sb.ToString()); } }
private void ReName() { if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } List <QiNiuFileInfo> list = new List <QiNiuFileInfo>(); foreach (var item in dgResult.SelectedItems) { QiNiuFileInfo info = (QiNiuFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { RenameWindow rw = new RenameWindow() { WindowStartupLocation = WindowStartupLocation.CenterOwner, Owner = this, FileName = list[0].FileName, BucketManager = bucketManager, Bucket = bucket }; 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 <QiNiuFileInfo> list = new List <QiNiuFileInfo>(); foreach (var item in dgResult.SelectedItems) { QiNiuFileInfo info = (QiNiuFileInfo)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 <QiNiuFileInfo> list = new List <QiNiuFileInfo>(); foreach (var item in dgResult.SelectedItems) { QiNiuFileInfo info = (QiNiuFileInfo)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) { string op = bucketManager.DeleteOp(bucket, key.FileName); ops.Add(op); } BatchResult ret = bucketManager.Batch(ops); StringBuilder sb = new StringBuilder(); if (ret.Code / 100 != 2) { MessageBox.Show("批量删除error: " + ret.ToString()); return; } MessageBox.Show("批量删除成功!"); Search(); Thread.Sleep(10); } }
private void Delete() { //1.获得表中选中的数据 if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } List <QiNiuFileInfo> list = new List <QiNiuFileInfo>(); foreach (var item in dgResult.SelectedItems) { QiNiuFileInfo info = (QiNiuFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { //执行批量删除 List <string> ops = new List <string>(); foreach (var key in list) { string op = bucketManager.DeleteOp(bucket, key.FileName); ops.Add(op); } BatchResult ret = bucketManager.Batch(ops); StringBuilder sb = new StringBuilder(); if (ret.Code / 100 != 2) { MessageBox.Show("批量删除error: " + ret.ToString()); return; } MessageBox.Show("批量删除成功!"); Search(); Thread.Sleep(10); } }
/// <summary> /// 修改DeleteAfterDays /// </summary> private void EditDeleteAfterDays() { if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } List <QiNiuFileInfo> list = new List <QiNiuFileInfo>(); foreach (var item in dgResult.SelectedItems) { QiNiuFileInfo info = (QiNiuFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { string[] urls = new string[list.Count]; qiNiuClientCfg.DeleteAfterDays = Convert.ToInt32(txtDelAfDays.Text.Trim()); LoadProgressBar(); System.Threading.ThreadPool.QueueUserWorkItem((state) => { StringBuilder sb = new StringBuilder(); foreach (QiNiuFileInfo qiNiuFileInfo in list) { HttpResult expireRet = bucketManager.DeleteAfterDays(bucket, qiNiuFileInfo.FileName, qiNiuClientCfg.DeleteAfterDays.Value); sb.AppendLine(expireRet.Code != (int)HttpCode.OK ? $"{qiNiuFileInfo.FileName}:修改删除时间失败!" : $"{qiNiuFileInfo.FileName}:修改删除时间成功!"); } Dispatcher.Invoke(new Action(() => { pb1.Visibility = Visibility.Hidden; MessageBox.Show(sb.ToString()); })); }); } }
private void RefreshNetAddress() { if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } List <QiNiuFileInfo> list = new List <QiNiuFileInfo>(); foreach (var item in dgResult.SelectedItems) { QiNiuFileInfo info = (QiNiuFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { string[] urls = new string[list.Count]; for (var i = 0; i < list.Count; i++) { QiNiuFileInfo qiNiuFileInfo = list[i]; urls[i] = GetPublishUrl(qiNiuFileInfo.FileName); if (string.IsNullOrWhiteSpace(urls[i])) { return; } } ThreadPool.QueueUserWorkItem((state) => { bool result = QiNiuHelper.RefreshUrls(mac, urls); Dispatcher.Invoke(new Action(() => { MessageBox.Show(result ? "文件刷新成功" : "文件刷新失败"); })); }); } }
/// <summary> /// 查询 /// </summary> private void Search() { if (string.IsNullOrWhiteSpace(marker)) { num = 1; btnSearch.Content = "查询"; } else { btnSearch.Content = "加载更多"; } bucket = SyncTargetBucketsComboBox.Text; ListResult listResult = bucketManager.ListFiles(bucket, txtStartWith.Text, marker, 1000, ""); // DomainsResult domainsResult = bucketManager.Domains(SyncTargetBucketsComboBox.Text); domainsResult = bucketManager.Domains(bucket); if (listResult.Result.Items.Count >= 1000) { btnSearch.Content = "加载更多"; } else { num = 1; marker = ""; btnSearch.Content = "查询"; } if (qiNiuFileInfoList == null || num == 1) { qiNiuFileInfoList = new List <QiNiuFileInfo>(); } foreach (ListItem item in listResult.Result.Items) { // item.EndUser QiNiuFileInfo f = new QiNiuFileInfo { Num = num, FileName = item.Key, FileType = item.MimeType, StorageType = QiNiuHelper.GetStorageType(item.FileType), FileSize = QiNiuHelper.GetFileSize(item.Fsize), EndUser = item.EndUser, CreateDate = QiNiuHelper.GetDataTime(item.PutTime) }; qiNiuFileInfoList.Add(f); num++; } marker = listResult.Result.Marker; if (qiNiuFileInfoList.Count > 0) { dgResult.ItemsSource = !string.IsNullOrWhiteSpace(txtEndWith.Text) ? qiNiuFileInfoList.Where(f => f.FileName.EndsWith(txtEndWith.Text.Trim())) : qiNiuFileInfoList; } else { dgResult.ItemsSource = new List <QiNiuFileInfo>(); } }
/// <summary> /// 查询 /// </summary> private void Search() { if (btnSearch.IsEnabled == false) { return; } btnSearch.IsEnabled = false; if (string.IsNullOrWhiteSpace(marker)) { num = 1; qiNiuFileInfoList = new List <QiNiuFileInfo>(); } bucket = SyncTargetBucketsComboBox.Text; startWith = txtStartWith.Text.Trim(); ThreadPool.QueueUserWorkItem((state) => { ListResult listResult = bucketManager.ListFiles(bucket, startWith, marker, 5000, ""); Dispatcher.Invoke(new Action(() => { if (listResult != null && listResult.Result != null && listResult.Result.Marker != null) { marker = listResult.Result.Marker; } else { marker = string.Empty; } if (listResult?.Result?.Items != null) { foreach (ListItem item in listResult.Result.Items) { // item.EndUser QiNiuFileInfo f = new QiNiuFileInfo { FileName = item.Key, FileType = item.MimeType, StorageType = QiNiuHelper.GetStorageType(item.FileType), FileSize = QiNiuHelper.GetFileSize(item.Fsize), EndUser = item.EndUser, CreateDate = QiNiuHelper.GetDataTime(item.PutTime) }; qiNiuFileInfoList.Add(f); } if (qiNiuFileInfoList.Count > 0) { //dgResult.ItemsSource = !string.IsNullOrWhiteSpace(txtEndWith.Text) // ? qiNiuFileInfoList.Where(f => f.FileName.EndsWith(txtEndWith.Text.Trim())) // : qiNiuFileInfoList; var list = qiNiuFileInfoList; if (!string.IsNullOrWhiteSpace(txtEndWith.Text)) { list = qiNiuFileInfoList.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 <QiNiuFileInfo>(); } // dgResult.ItemsSource = list; } else { dgResult.ItemsSource = new List <QiNiuFileInfo>(); } } else { MessageBox.Show("未能加载数据!"); } btnSearch.IsEnabled = true; })); }); }
/// <summary> /// 预览 /// </summary> private void Preview() { if (dgResult.ItemsSource == null && dgResult.SelectedItems.Count <= 0) { return; } List <QiNiuFileInfo> list = new List <QiNiuFileInfo>(); foreach (var item in dgResult.SelectedItems) { QiNiuFileInfo info = (QiNiuFileInfo)item; if (info != null) { list.Add(info); } } if (list.Count > 0) { string address = string.Empty; if (list[0].FileType.StartsWith("text") || list[0].FileType.StartsWith("application")) { address = GetPrivateUrl(list[0].FileName); if (string.IsNullOrWhiteSpace(address)) { return; } string tempfile = Path.Combine(Environment.GetEnvironmentVariable("TEMP"), QiNiuHelper.RemoveWindowsFileNameSpicalChar(list[0].FileName)); System.Threading.ThreadPool.QueueUserWorkItem((state) => { System.Net.WebClient wc = new System.Net.WebClient(); wc.DownloadFile(address, tempfile); Dispatcher.Invoke(new Action(() => { System.Diagnostics.Process.Start(tempfile); })); }); return; } //if (list[0].FileType.StartsWith("text")) // { // address = GetPrivateUrl(list[0].FileName); // if (string.IsNullOrWhiteSpace(address)) // { // return; // } // System.Threading.ThreadPool.QueueUserWorkItem((state) => // { // System.Net.WebClient wc = new System.Net.WebClient(); // string s = wc.DownloadString(address); // Dispatcher.Invoke(new Action(() => // { // new TextWindow // { // WindowStartupLocation = WindowStartupLocation.CenterOwner, // Owner = this, // TxtContent = s // }.ShowDialog(); // })); // }); // return; // } if (list[0].FileType.StartsWith("image")) { address = GetPrivateUrl(list[0].FileName + "?imageView2/2/w/600/h/400/interlace/1/q/100"); if (string.IsNullOrWhiteSpace(address)) { return; } } new PreviewWindow { WindowStartupLocation = WindowStartupLocation.CenterOwner, Owner = this, PreviewFilePath = address }.ShowDialog(); } }