Javascript chrome扩展名-是否有永久保存文件的方法?

Javascript chrome扩展名-是否有永久保存文件的方法?,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正在开发一个chrome扩展,我想在用户系统中永久地将一些数据存储在一个文件中,这样每次用户运行扩展时我都可以检索这些数据 有没有一种方法可以通过chrome javascript API实现这一点 提前谢谢。有可能。 您将能够访问沙盒持久文件夹以创建和读取文件。根据您的描述,您最好使用,它将数据写入浏览器管理的数据库。它在会话和浏览器重新启动时保持不变 chrome.storage.sync.set({'theKey': theValue}, optionalSuccessCallback)

我正在开发一个chrome扩展,我想在用户系统中永久地将一些数据存储在一个文件中,这样每次用户运行扩展时我都可以检索这些数据

有没有一种方法可以通过chrome javascript API实现这一点

提前谢谢。

有可能。
您将能够访问沙盒持久文件夹以创建和读取文件。

根据您的描述,您最好使用,它将数据写入浏览器管理的数据库。它在会话和浏览器重新启动时保持不变

chrome.storage.sync.set({'theKey': theValue}, optionalSuccessCallback);
只要可以序列化,就可以使用任意数量的键和任意值。这是快速的,特别适用于配置设置等。您的扩展需要请求权限:

“权限”:[“存储”]

如果你真的想创建文件(例如,一堆mp3以后用作实际文件),Anatoly是对的,请使用。它需要相当多的回调:

function onInitFs(fs) {
  fs.root.getFile('log.txt', {create: true}, function(fileEntry) {

    // Create a FileWriter object for our FileEntry (log.txt).
    fileEntry.createWriter(function(fileWriter) {

      fileWriter.onwriteend = function(e) {
        console.log('Write completed.');
      };

      fileWriter.onerror = function(e) {
        console.log('Write failed: ' + e.toString());
      };

      // Create a new Blob and write it to log.txt.
      var blob = new Blob(['Lorem Ipsum'], {type: 'text/plain'});

      fileWriter.write(blob);

    }, errorHandler);
  }, errorHandler);
}

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

盐粒:要使存储API(和HTML文件系统API)真正使用“任意数量的键和任意值”,您可能需要
“unlimitedStorage”
权限,并且
同步
存储上仍然有配额。