强制 CEFSharp 下载而不显示对话框

Tou*_*ing 4 c# wpf cefsharp

我有一个带有 CEFSharp 的 WPF 应用程序,它是一个 Web 浏览器,当我单击下载链接时,它会显示一个对话框并询问我要将文件保存在哪里?
如何强制 Web 浏览器下载任何文件而不显示对话框?我想创建一些像谷歌浏览器这样的东西。因此,当您单击下载链接时,它会将文件下载到默认路径(通常位于“文档/下载”中)

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

jor*_*rnh 5

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

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

您会看到项目中的常见示例处理程序从和项目CefSharp.Example中实例化。自从我尝试使用 WinForms 以来时间不长,我对 WPF 不太确定,但快速浏览一下它看起来很实用。如果不是,那就是一个需要修复的错误!CefSharp.Example.WinFormsCefSharp.Example.Wpf

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

  • 尽管显示对话框时会记住下载目录,但我发现将 showDialog 设置为 false 会将保存路径默认为应用程序运行的位置。所以建议也设置路径。这是完整的行 `callback.Continue(Path.Combine(@"C:\Downloads\", downloadItem.SuggestedFileName), showDialog: false);` (3认同)