コード例 #1
0
        public bool GetDownloadHandler(IWebBrowser browser, string mimeType, string fileName, long contentLength, ref IDownloadHandler handler)
        {
            SaveFileDialog dialog = new SaveFileDialog();

            dialog.FileName = fileName;
            string strExt = Path.GetExtension(fileName);

            dialog.Filter             = string.Format("{0} 文件(*{0})|*{0}", strExt);
            dialog.RestoreDirectory   = true;
            dialog.OverwritePrompt    = true;
            dialog.CheckFileExists    = false;
            dialog.CheckPathExists    = true;
            dialog.AutoUpgradeEnabled = true;

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                string strFilePath = dialog.FileName;
                if (!string.IsNullOrEmpty(strFilePath))
                {
                    //string strFilePath = Path.Combine(strFolderPath, fileName);

                    var downloadItem = new DownloadItem()
                    {
                        DownloadID     = Guid.NewGuid(),
                        SourceFileName = fileName,
                        ContentLength  = contentLength,
                        MineType       = mimeType,
                        SavePath       = strFilePath,
                        SaveFileName   = Path.GetFileName(strFilePath),
                        StartTime      = DateTime.Now
                    };
                    downloadManager.Add(downloadItem);

                    DownloadHandler downloadHandler = new DownloadHandler(downloadItem);
                    downloadHandler.OnDownloadComplete += downloadHandler_OnDownloadComplete;
                    downloadHandler.OnDownloadNotify   += downloadHandler_OnDownloadNotify;

                    handler = downloadHandler;

                    (downloadManager as FormDownloadManger).Show();
                    (downloadManager as FormDownloadManger).BringToFront();

                    return(true);
                }
            }

            return(false);
        }
コード例 #2
0
ファイル: RequestHandler.cs プロジェクト: xzoth/CEFSharpTest
        public bool GetDownloadHandler(IWebBrowser browser, string mimeType, string fileName, long contentLength, ref IDownloadHandler handler)
        {
            SaveFileDialog dialog = new SaveFileDialog();
            dialog.FileName = fileName;
            string strExt = Path.GetExtension(fileName);
            dialog.Filter = string.Format("{0} 文件(*{0})|*{0}", strExt);
            dialog.RestoreDirectory = true;
            dialog.OverwritePrompt = true;
            dialog.CheckFileExists = false;
            dialog.CheckPathExists = true;
            dialog.AutoUpgradeEnabled = true;

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                string strFilePath = dialog.FileName;
                if (!string.IsNullOrEmpty(strFilePath))
                {
                    //string strFilePath = Path.Combine(strFolderPath, fileName);

                    var downloadItem = new DownloadItem()
                    {
                        DownloadID = Guid.NewGuid(),
                        SourceFileName = fileName,
                        ContentLength = contentLength,
                        MineType = mimeType,
                        SavePath = strFilePath,
                        SaveFileName = Path.GetFileName(strFilePath),
                        StartTime = DateTime.Now
                    };
                    downloadManager.Add(downloadItem);

                    DownloadHandler downloadHandler = new DownloadHandler(downloadItem);
                    downloadHandler.OnDownloadComplete += downloadHandler_OnDownloadComplete;
                    downloadHandler.OnDownloadNotify += downloadHandler_OnDownloadNotify;

                    handler = downloadHandler;

                    (downloadManager as FormDownloadManger).Show();
                    (downloadManager as FormDownloadManger).BringToFront();

                    return true;
                }
            }

            return false;
        }