如何将ZIP文件下载并解压缩到扩展文件夹? 需要从在线存储的ZIP包更新我的资源/配置。
这可能吗?
请指出我的文档或示例
由于
答案 0 :(得分:1)
在Firefox 4+中,您可以像下面这样获取扩展目录:
Components.utils.import("resource://gre/modules/AddonManager.jsm");
Components.utils.import("resource://gre/modules/Services.jsm");
AddonManager.getAddonByID(extensionID, function(addon) {
var extensionDir =
Services.io.getProtocolHandler("file").QueryInterface(Ci.nsIFileProtocolHandler).
getFileFromURLSpec(addon.getResourceURI(null).spec);
}
要从扩展名下载文件,请使用以下命令创建XMLHttpRequest:
var xhr = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Ci.nsIXMLHttpRequest);
您可以使用nsIZipReader XPCOM界面阅读ZIP文件(请参阅http://mxr.mozilla.org/mozilla-central/source/modules/libjar/nsIZipReader.idl)。像这样实例化组件:
var zipReader = Cc["@mozilla.org/libjar/zip-reader;1"].createInstance(Ci.nsIZipReader);