zoukankan      html  css  js  c++  java
  • c# cef3 判断文件下载是否完成

    cef3 模拟浏览器,点击下载文件时,需要判断文件是否下载完成,来继续下一步操作。

    解决:重写 IDownloadHandler 接口

     class DownloadHandler : IDownloadHandler
        {
    
            public void OnBeforeDownload(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
            {
                if (!callback.IsDisposed)
                {
                    using (callback)
                    {
                        DownCrawler.isDownload = false;   //标识置为false,表示正在下载
                        string fileLocation = downloadItem.SuggestedFileName.Substring(0, downloadItem.SuggestedFileName.IndexOf(".")); //文件路径
                        Debug.WriteLine(fileLocation);
                        callback.Continue(@"C:Downloadsone" +
                                downloadItem.SuggestedFileName,
                            showDialog: false); //设置文件存放路径
                    }
                }
            }
    
            public void OnDownloadUpdated(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
            {
                //如果下载完成
                if (downloadItem.IsComplete)
                {
                    Debug.WriteLine("下载完成");
                    DownCrawler.isDownload = true;  //标识置为true,表示下载完成
                }
            }
        }

    应用该重写接口

    browser.DownloadHandler = new DownloadHandler();

    然后在执行代码中 插入循环判断 下载标识 是否为true 

    while(!DownCrawler.isDownload){
      Thread.Sleep(2000);  
    }
  • 相关阅读:
    opencv图片压缩视频并读取
    python常见模块统计
    MySQL索引及优化
    web开发框架之 Tornado
    Tornado项目基本架构
    python闭包以及装饰器
    python语法糖
    python os模块
    TCP中的3次握手和4次挥手
    Python常见的数据类型方法
  • 原文地址:https://www.cnblogs.com/yhood/p/11534881.html
Copyright © 2011-2022 走看看