CefSharp JS触发下载 无法保存
时间: 2023-09-30 18:07:24 浏览: 65
使用CefSharp结合vue3实现简单URL资源下载器
如果您使用CefSharp来下载文件,但是无法保存文件,可能是因为您没有正确设置保存路径或文件名。您可以通过设置 `DownloadHandler` 来指定下载的保存路径和文件名。
以下是一个示例代码片段:
```csharp
public class DownloadHandler : IDownloadHandler
{
public event EventHandler<DownloadItem> OnDownloadUpdated;
public void OnBeforeDownload(IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
{
// 设置下载保存路径和文件名
var downloadPath = "C:\\Downloads\\" + downloadItem.SuggestedFileName;
downloadItem.FullPath = downloadPath;
callback.Continue(downloadPath, showDialog: false);
}
public void OnDownloadUpdated(IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
{
OnDownloadUpdated?.Invoke(this, downloadItem);
}
}
```
在您的 `BrowserSettings` 中设置 `DownloadHandler`:
```csharp
var settings = new BrowserSettings
{
// 设置下载路径
DefaultDownloadsDirectory = "C:\\Downloads",
DownloadHandler = new DownloadHandler()
};
var browser = new ChromiumWebBrowser("https://example.com", settings);
```
这样,当您在浏览器中下载文件时,它将保存到指定的路径中。
阅读全文