我已经使用angular和javascript实现了我的web应用程序,并使用wpf实现了一个窗口应用程序。我试图将导出函数从wpf应用程序调用到嵌入的浏览器,但它不起作用,没有显示任何错误。但它适用于所有其他浏览器,如chrome,mozilla,internetexplorer。帮我找线索。谢谢
我找到了解决方案。原因是没有添加下载处理程序。我们需要手动添加编码,这样无论我们下载什么或保存到PC,我们都可以看到下载弹出窗口。这很简单,只是一行而已。
webBrowser.DownloadHandler = new DownloadHandler();
首先,您需要定义一个类,如DownloadHandler,然后继承IDownloadHandler接口。
public class DownloadHandler : IDownloadHandler
{
public void OnBeforeDownload(IWebBrowser chromiumWebBrowser, 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(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
{
}
}
其次,在初始化浏览器之前,创建一个DownloadHandler对象,如下所示:
browser.DownloadHandler = new DownloadHandler();