Firefox插件中带有附加SDK的更多存储空间 [英] More storage in a Firefox addon with Add-on SDK

查看:151
本文介绍了Firefox插件中带有附加SDK的更多存储空间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用插件生成器开发一个插件。我读了简单的存储,他的插件可以有大约5兆字节,但5毫克不会为我的应用程序。我需要更多。我能做什么?

解决方案

相反,您可以爆发并在用户个人资料目录中创建一个文件(请参阅文件I / O代码片段)。例如。按照这些行来从用户的配置文件中读取文件 myData.txt
$ b

  var {Cu,components} = require(chrome); 
var {FileUtils} = Cu.import(resource://gre/modules/FileUtils.jsm);
var {NetUtils} = Cu.import(resource://gre/modules/NetUtil.jsm);
var file = FileUtils.getFile(ProfD,[myData.txt]);

NetUtil.asyncFetch(file,function(inputStream,status){
if(!components.isSuccessCode(status)){
//处理错误!
return ;
}

//文件数据包含在inputStream中
//你可以用
将它读入字符串var data = NetUtil.readInputStreamToString(inputStream ,inputStream.available());
console.log(data);
});

请注意,导入模块的异常语法是由于错误683217


I want to develop an addon with the addon builder. I read that with simple storage one can have about 5 megabytes for his addon, but 5 mgb won't do it for my app. I need more. What could I do?

解决方案

You cannot do much given the Add-on SDK API. Instead you could break out of the sandbox and create a file in user's profile directory (see File I/O code snippets). E.g. something along these lines to read the file myData.txt from user's profile:

var {Cu, components} = require("chrome");
var {FileUtils} = Cu.import("resource://gre/modules/FileUtils.jsm");
var {NetUtils} = Cu.import("resource://gre/modules/NetUtil.jsm");
var file = FileUtils.getFile("ProfD", ["myData.txt"]);

NetUtil.asyncFetch(file, function(inputStream, status) {
  if (!components.isSuccessCode(status)) {
    // Handle error!
    return;
  }

  // The file data is contained within inputStream.
  // You can read it into a string with
  var data = NetUtil.readInputStreamToString(inputStream, inputStream.available());
  console.log(data);
});

Note that the unusual syntax to import modules is due to bug 683217.

这篇关于Firefox插件中带有附加SDK的更多存储空间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆