Exemplo n.º 1
0
        private void ProcessMaps()
        {
            countryMaps = new Dictionary <string, List <Tuple <string, string, string, string> > >();
            foreach (var item in countryMapsUrlHash)
            {
                service.Navigate(item.Item2);
                var elements = service.GetElementsXPath(@"//*[@id='content-core']/div[2]/table/tbody/tr[position() > 1]");
                var listMaps = new List <Tuple <string, string, string, string> >();

                foreach (var trow in elements)
                {
                    var tdataList   = trow.FindElements(By.XPath(@"td"));
                    var jpegHref    = tdataList[4].FindElement(By.XPath(@".//a")).GetAttribute("href");
                    var fullJpegUrl = UriEx.Full(item.Item2, jpegHref);

                    var download = new HttpDownloadFile(fullRootWfDirectory);
                    download.Download(fullJpegUrl, true, ImageFormat.Jpeg);

                    var maps = new Tuple <string, string, string, string>(
                        tdataList[0].Text,
                        tdataList[1].Text, fullJpegUrl, download.LocalFile
                        );

                    listMaps.Add(maps);
                }

                countryMaps.Add(item.Item1, listMaps);
            }
        }
        private void OnRunningChanged(HttpDownloadFile obj)
        {
            Common.RunInUI(() => {
                if (obj.IsRunning)
                {
                    IsShowProgressBar = true;
                }

                IsDoUpgradeEnable = !obj.IsRunning;
                DoUpgradeCommand.RaiseCanExecuteChanged();
            });
        }
Exemplo n.º 3
0
        private void OnDownloadFinished(HttpDownloadFile obj)
        {
            Common.RunInUI(() =>
            {
                if (obj.IsDownloadSuccess)
                {
                    var fileMd5 = Common.GetMD5HashFromFile(obj.SaveFilePath);
                    if (m_autoUpgradePackpageMd5.ToLower() == fileMd5.ToLower())
                    {
                        //文件MD5校验一致,说明包下载成功且未被破坏,提示用户安装
                        var saveDir = Path.GetDirectoryName(obj.SaveFilePath);

                        var originFileName = Common.GetFileNameFromUrl(obj.Url);

                        var finishedFilePath = saveDir + @"\" + originFileName;

                        if (File.Exists(finishedFilePath))
                        {
                            File.Delete(finishedFilePath);
                        }

                        File.Move(obj.SaveFilePath, finishedFilePath);

                        if (!File.Exists(finishedFilePath))
                        {
                            //重命名失败
                            Logger.Error(string.Format("重命名{0}到{1}失败", obj.SaveFilePath, finishedFilePath), logger);

                            MessageBox.Show(App.Current.MainWindow, "升级包重命名操作出现异常,请检查!", "错误", MessageBoxButton.OK, MessageBoxImage.Warning);
                        }
                        else
                        {
                            DoInstallUpgradePackage(finishedFilePath);
                        }
                    }
                    else
                    {
                        //安装包下载出现问题(可能安装包之前残留的断点数据不对,删除这个文件),提示用户重试
                        if (File.Exists(obj.SaveFilePath))
                        {
                            File.Delete(obj.SaveFilePath);
                        }

                        MessageBox.Show(App.Current.MainWindow, "升级包MD5校验不一致,请重试!", "错误", MessageBoxButton.OK, MessageBoxImage.Warning);
                    }
                }
                else
                {
                    MessageBox.Show(App.Current.MainWindow, "下载过程中出现异常,请检查并重试!", "错误", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            });
        }
Exemplo n.º 4
0
        private void DownloadThread()
        {
            //执行升级,后台下载(断点下载),下载完成后判断MD5是否合法,合法的话弹窗提示用户安装
            var path = Path.Combine(App.LocalRPAStudioDir, "Update", $"{m_autoUpgradePackpageMd5}.exe");

            if (m_downloader != null)
            {
                m_downloader.Stop();

                if (m_downloader.IsRunning)
                {
                    Thread.Sleep(500);
                }
            }

            m_downloader = new HttpDownloadFile();
            m_downloader.OnRunningChanged   = OnRunningChanged;
            m_downloader.OnDownloadFinished = OnDownloadFinished;
            m_downloader.OnDownloading      = OnDownloading;
            m_downloader.Download(m_autoUpgradePackpageUrl, path);
        }
        private void downloadThread()
        {
            //执行升级,后台下载(断点下载),下载完成后判断MD5是否合法,合法的话弹窗提示用户安装
            var path = App.LocalRPAStudioDir + string.Format(@"\Update\{0}.exe", m_autoUpgradePackpageMd5);

            if (m_downloader != null)
            {
                m_downloader.Stop();

                if (m_downloader.IsRunning)
                {
                    Thread.Sleep(500);
                }
            }

            m_downloader = new HttpDownloadFile();
            m_downloader.OnRunningChanged   = OnRunningChanged;
            m_downloader.OnDownloadFinished = OnDownloadFinished;
            m_downloader.OnDownloading      = OnDownloading;
            m_downloader.Download(m_autoUpgradePackpageUrl, path);
        }
Exemplo n.º 6
0
 private void OnDownloading(HttpDownloadFile obj)
 {
     //进度条控制
     DownloadingProgressValue = (int)(100.0 * obj.FileDownloadedBytes / obj.FileTotalBytes);
 }