Мы используем CefSharp (пакет NuGet версии 37.0.0) в приложении C# WinForms. Мы ищем способ (программно) инициировать действия по загрузке файлов. Как, если вообще, это можно сделать? Пара дополнительных мыслей:
- У нас есть диалог загрузки файла на странице, где обычно пользователь выбирает файл. Это отлично работает, мы перехватываем вызов диалога через IDialogHandler и предоставляем файл.
- Теперь мы хотим вызвать тот же диалог и предварительно установить файл. Хотя диалоговое окно успешно открывается из вызова «ExecuteScriptAsync», мы не можем предварительно выбрать файл. Возможно, по следующей причине: как создать /инициализировать файловый объект, используя путь к файлу html5
- Наша следующая идея заключалась в том, чтобы диалоговое окно открывалось нормально и программно выдавало событие щелчка, чтобы браузер открывал файловое диалоговое окно (которое мы затем перехватывали с помощью IDialogHandler и предоставляли желаемый файл).
- Попробовав этот подход, наше наблюдение выглядит следующим образом:
- После действия пользователя (например, нажатия кнопки внутри браузера) мы можем программно «щелкнуть» кнопку ввода файла.
- Делая то же самое из вызова, исходящего через ExecuteScriptAsync, диалоговое окно (или вызов в IDialogHandler) не появляется.