Как записать в локальный файл с помощью Gecko FX - PullRequest
0 голосов
/ 08 июня 2018

Я хочу запустить html-файл, расположенный локально (без веб-сервера), и записать его в локальный файл с этим html-файлом.Но используемый браузер - это geckoFX, встроенный в форму C #.Как я могу записывать в локальные файлы с помощью geckoFX?Если это невозможно с geckoFX, возможно ли это с EO.WebBrowser?Операционная среда: .Net FrameWork 3.5, GeckoFX v 45.0.7.0 В локальном html-файле (без веб-сервера) мы использовали следующий код, но «Ошибка: ошибка типа: netscape.security.PrivilegeManager не определена»

 filename = (ua.indexOf ('windows')! = -1? 'C: \\ temp \\': '/ temp /') + filename;
 netscape.security.PrivilegeManager.enablePrivilege ('UniversalXPConnect');
var file = Components.classes ['@ mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath (filename);
var fileStream = Components.classes ['@ mozilla.org/network/file-output-stream;1'].createInstance (Components.interfaces.nsIFileOutputStream);          

fileStream.init (
            file,
            0x02 | 0x08, 0664, 0);
          var converterStream = Components
            .classes ['@ mozilla.org/intl/converter-output-stream;1']
            .createInstance (Components.interfaces.nsIConverterOutputStream);
          converterStream.init (
            fileStream,
            'UTF-8',
            content.length,
            Components.interfaces.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER
          );
          converterStream.writeString (content);

          converterStream.close ();
          fileStream.close ();

1 Ответ

0 голосов
/ 05 февраля 2019

Вы можете записывать в файлы из любого места, используя:

File.WriteAllText("file.path", "contents_to_write");

или для байтов:

File.WriteAllBytes("file.path", byte[]);

, где byte[] можно заменить байтовым массивом для записи.

Надеюсь, это поможет!

...