强制CEFSharp在不显示对话框的情况下进行下载

4
我有一个使用CEFSharp的WPF应用程序,它是一个网页浏览器。当我点击下载链接时,会显示一个对话框并询问我想将文件保存到哪里?
如何强制通过网页浏览器下载任何文件而不显示对话框? 我想创建类似于Google Chrome的东西,这样当您单击下载链接时,它将下载文件到默认路径(通常在“文档/下载”中)

现在我该如何在我的应用程序中实现这一点呢?
如果我需要更改CEFSharp源代码,请告诉我更多细节,因为我找到了一些解决方案,但没有完整的示例,只有部分代码! 谢谢。

1个回答

5

主CefSharp GitHub存储库中有一个示例。

此搜索指向相关的代码段:https://github.com/cefsharp/CefSharp/search?q=DownloadHandler&type=Code&utf8=%E2%9C%93

你可以看到CefSharp.Example项目中的常见示例处理程序从CefSharp.Example.WinFormsCefSharp.Example.Wpf项目中实例化。我不久前尝试了WinForms,对于WPF,我不太确定,但是快速浏览后它看起来是正常的。如果不行,那就是需要修复的漏洞!

如果您搜索IDownloadHandler,则应该看到接口的文档。在您的情况下,听起来您想将showDialog参数设置为false


3
尽管在显示对话框时记住了下载目录,但我发现将showDialog设置为false会将保存路径默认到应用程序运行的位置。因此建议也设置路径。这是完整的行:callback.Continue(Path.Combine(@"C:\Downloads\", downloadItem.SuggestedFileName), showDialog: false); - Valamas
有可能错过 OpenFileDialog 并编写预先编码的路径作为其结果吗? - Andrew_STOP_RU_WAR_IN_UA

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接