我正在使用Cefsharp v63.0.3 NuGet软件包,在C#Windows Form App中,我有一个文件上传按钮(HTML表单输入类型文件)。我需要使用CefSharp从“文件上传”按钮浏览的文件的绝对路径。看了几篇文章后,我发现“ IDialogHandler”可用于文件上传,但是我对如何实现此目标感到困惑。请帮帮我。
Form1.cs
public void InitializeChromium()
{
CefSettings settings = new CefSettings();
settings.CefCommandLineArgs.Add("enable-media-stream", "1");
Cef.Initialize(settings);
chromeBrowser = new ChromiumWebBrowser("localhost/myproject/index.html");
this.Controls.Add(chromeBrowser);
chromeBrowser.DialogHandler = new TempFileDialogHandler();
chromeBrowser.Dock = DockStyle.Fill;
}
TempFileDialogHandler.cs
public class TempFileDialogHandler : IDialogHandler
{
public bool OnFileDialog(IWebBrowser browserControl, IBrowser browser, CefFileDialogMode mode, string title, string defaultFilePath, List<string> acceptFilters, int selectedAcceptFilter, IFileDialogCallback callback)
{
//callback.Continue(selectedAcceptFilter, new List<string> { Path.GetRandomFileName() });
return true;
}
}
谢谢!