如何使用Gecko FX

时间:2018-06-08 01:51:50

标签: javascript c# firefox gecko geckofx

我想在本地创建一个html文件(没有Web服务器),并将其写入具有该html文件的本地文件。 但是使用的浏览器是嵌入在C#Form中的geckoFX。 如何使用geckoFX写入本地文件? 如果使用geckoFX是不可能的,是否可以使用EO.WebBrowser? 运行环境:.Net FrameWork 3.5,GeckoFX v 45.0.7.0 在本地定位的html文件(没有Web服务器)中,我们使用了以下代码,但是“错误:TypeError: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 :(得分:0)

您可以使用以下任何一种方法在任何地方写入文件:

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

或字节:

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

其中byte[]可以替换为要写入的字节数组。

希望这会有所帮助!