【问题标题】:Force CEFSharp to download without showing dialog强制 CEFSharp 下载而不显示对话框
【发布时间】:2015-02-17 15:45:48
【问题描述】:

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

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

【问题讨论】:

    标签: c# wpf cefsharp


    【解决方案1】:

    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

    【讨论】:

    • 尽管在显示对话框时会记住下载目录,但我发现将 showDialog 设置为 false 会将保存路径默认为应用程序运行的位置。所以建议也设置路径。这是完整的行callback.Continue(Path.Combine(@"C:\Downloads\", downloadItem.SuggestedFileName), showDialog: false);
    • 是否有可能错过 OpenFileDialog 并因此写入预编码路径?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    相关资源
    最近更新 更多