有没有类似Chrome的Firefox插件的fileSystem API?

时间:2015-11-29 18:04:58

标签: javascript firefox firefox-addon

我制作的Chrome应用程序非常依赖Chrome的fileSystem API来记录和保存来自各种网站的视频流。由于流数据在保存之前以javascript格式处理,因此只需下载流即可。

现在我正在考虑制作Firefox版本......

我知道Firefox有一个sandboxed文件系统API,但据我所知,无法将文件保存到物理文件系统。

我只能看到从沙盒文件系统创建blob并下载该blob的选项。

我实际上有两个问题:

  1. 我是否有任何错过在Firefox插件中直接在物理文件系统中创建和保存文件的选项?

  2. 即使我必须依赖沙盒文件系统,也可以在追加模式下打开文件,即。将数据附加到现有文件?

1 个答案:

答案 0 :(得分:0)

是的,您的第一个问题是:io/file API。打开文件会返回一个流(io/bytestream)。文档中的示例

function readBinaryDataFromFile (filename) {
  var fileIO = require("sdk/io/file");
  var data = null;
  if (fileIO.exists(filename)) {
    var ByteReader = fileIO.open(filename, "rb");
    if (!ByteReader.closed) {
      data = ByteReader.read();
      ByteReader.close();
    }
  }
  return data;
}

function writeBinaryDataToFile(data, filename) {
  var fileIO = require("sdk/io/file");
  var ByteWriter = fileIO.open(filename, "wb");
  if (!ByteWriter.closed) {
    ByteWriter.write(data);
    ByteWriter.close();
  }
}