c# cefsharp 下载附件时,点击没有反应
在新项目中,有个绑卡过程,如果用户没有安装安全组件的话,就得下载组件进行安装,而在cefsharp中,默认是不能下载文件的,不弹出提示框,摸索了一段时间,最终解决了
实现cefsharp的IDownloadHandler接口
public class DownloadHandler : CefSharp.IDownloadHandler
{
public void OnBeforeDownload(IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
{
if (!callback.IsDisposed)
{
using (callback)
{
callback.Continue(@"C:\Users\" +
System.Security.Principal.WindowsIdentity.GetCurrent().Name +
@"\Downloads\" +
downloadItem.SuggestedFileName,
showDialog: true);
}
}
}
public void OnDownloadUpdated(IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
{
//downloadItem.IsCancelled = false;
}
public bool OnDownloadUpdated(CefSharp.DownloadItem downloadItem)
{
return false;
}
}
然后再添加浏览器控件的地方加上:
m_webBrower = new ChromiumWebBrowser(path);
this.webview_panel.Controls.Add(m_webBrower);
m_webBrower.DownloadHandler = new DownloadHandler();
完美解决。。。。

浙公网安备 33010602011771号