如何使用CefSharp WPF进行下载[已关闭]

jxct1oxe  于 2023-01-02  发布在  其他
关注(0)|答案(1)|浏览(296)

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
13小时前关门了。
Improve this question
我只是询问如何使用CefSharp WPF下载文件
我尝试创建名为DownloadHandler.cs的类,复制粘贴CefSharps下载处理程序文件,并将其添加到我的主文件CBrowser中。DownloadHandler = new DownloadHandler();

iqih9akk

iqih9akk1#

您需要在DownloadHandler.cs中实现IDownloadHandler接口

public class DownloadHandler : IDownloadHandler
{
    public event EventHandler<DownloadItem> OnBeforeDownloadFired;
    public event EventHandler<DownloadItem> OnDownloadUpdatedFired;

    public void OnBeforeDownload(IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
    {
        OnBeforeDownloadFired?.Invoke(this, downloadItem);

        if (!callback.IsDisposed)
        {
            using (callback)
            {
                callback.Continue(downloadItem.SuggestedFileName, showDialog: true);
            }
        }
    }

    public void OnDownloadUpdated(IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
    {
        OnDownloadUpdatedFired?.Invoke(this, downloadItem);
    }
}

用法:

var browser = new ChromiumWebBrowser();
browser.DownloadHandler = new DownloadHandler()

((DownloadHandler)browser.DownloadHandler).OnBeforeDownloadFired += (sender, args) =>
{
    // Display the file save dialog
};

((DownloadHandler)browser.DownloadHandler).OnDownloadUpdatedFired += (sender, args) =>
{
    // Update the download progress
};

相关问题