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());
            }
        }
Beispiel #5
0
        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;
        }
Beispiel #7
0
        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);
            }
        }
Beispiel #9
0
        /// <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());
                    }));
                });
            }
        }
Beispiel #10
0
        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>();
            }
        }
Beispiel #12
0
        /// <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;
                }));
            });
        }
Beispiel #13
0
        /// <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();
            }
        }