在 NaCl 中保存持久文件并读取应用程序内部 JavaScript 代码

Save persistent file in NaCl and read inside app JavaScript code

在我的 chrome 应用程序中,我想在 NaCl 模块中保存一个持久文件(使用 Pepper APInacl_io),然后打开并阅读它JavaScript 应用程序内的代码。

NaCl 部分使用 nacl_io 实现并且工作正常(使用 html5fsPERSISTENT 类型)。

如何在JS代码中完成另一部分?

您可以使用 Filesystem API 访问 JavaScript 中的文件。

以下是从该页面读取文件的示例:

function onInitFs(fs) {

  fs.root.getFile('log.txt', {}, function(fileEntry) {

    // Get a File object representing the file,
    // then use FileReader to read its contents.
    fileEntry.file(function(file) {
       var reader = new FileReader();

       reader.onloadend = function(e) {
         var txtArea = document.createElement('textarea');
         txtArea.value = this.result;
         document.body.appendChild(txtArea);
       };

       reader.readAsText(file);
    }, errorHandler);

  }, errorHandler);

}

window.requestFileSystem(window.TEMPORARY, 1024*1024, onInitFs, errorHandler);

在您的情况下,您需要从 PERSISTENT 文件系统而不是 TEMPORARY 文件系统读取。

请注意 API 在 Chrome 中作为 window.webkitRequestFileSystem 的前缀。