专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

c# cef3 判断文件下载是否完成

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:40:16       共计:3681 浏览

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:\Downloads\one\" + 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);  
}

 

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:C#操作IIS程序池及站点的创建配置 | ·下一条:C#实现百度统计后台推广刷百度统计流量

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有