我们在 C# WinForms 应用程序中使用 CefSharp(v37.0.0 NuGet 包)。我们正在寻找一种(以编程方式)触发文件上传操作的方法。如果有的话,如何做到这一点?一些额外的想法:
- 我们在页面上有一个文件上传对话框,通常用户会在该对话框中选择一个文件。这很好用,我们通过 IDialogHandler 拦截对话调用并提供文件。
- 现在我们要触发相同的对话框并预设文件。虽然对话框从“ExecuteScriptAsync”调用成功打开,但我们无法预先选择文件。可能是由于以下原因:how to create/initialize the file object using file path html5
- 我们的下一个想法是让对话框正常打开并以编程方式发出一个单击事件,以便浏览器打开文件对话框(然后我们将通过 IDialogHandler 捕获并提供我们想要的文件)。
- 尝试这种方法,我们的观察结果如下:
- 在用户操作之后(例如,在浏览器中单击按钮),我们可以通过编程方式“单击”文件输入按钮。
- 从通过 ExecuteScriptAsync 发起的调用执行相同操作,对话框(或 IDialogHandler 中的调用)不会出现。