Программная загрузка файла с использованием GeckoFx60 (работал в 29, а не в 60) - PullRequest
0 голосов
/ 06 мая 2019

У меня есть время, когда я загружаю файл через GeckoFX60 C #.Он отлично работал в GeckoFX29, но не в 60.

В прошлой версии я использовал этот код:

var fileNames = new IntPtr[1];
fileNames[0] = new Gecko.CustomMarshalers.WStringMarshaler().MarshalManagedToNative("c:\\myfile.jpg");
var domInput = Xpcom.QueryInterface<nsIDOMHTMLInputElement (aux2.DOMElement);
                                       domInput.MozSetFileNameArray(fileNames, (uint)fileNames.Length);
Marshal.ReleaseComObject(domInput);

И тогда я бы вызвал событие изменения:

 var ev = webbrowser.Document.CreateEvent("Event");
var webEvent = new Event((mozIDOMWindowProxy)webbrowser.Window.DomWindow, ev.DomEvent as nsISupports);
 webEvent.InitEvent("change", true, true);
el2.GetEventTarget().DispatchEvent(ev);

Но сейчас в GeckoFX60 MozSetFileNameArray недоступен.Я попытался его перекомпилировать и включить, но когда я его использую, он падает.

Я заметил, что теперь элемент: HTMLInputElement

Имеет MozSetFileArray и MozSetFileNameArray, но всякий раз, когда я их использую, я получаюошибка.

Кому-нибудь удалось загрузить файл программно с помощью GeckoFX60?Чего я хочу добиться, так это загрузить форму, в которой есть тип ввода = файл, и автоматически завершить ввод и загрузить (без какого-либо взаимодействия с пользователем).

Последние 3 дня я ломал голову, и я надеюсь, что кто-то может помочь:)

Спасибо!

...