获取FileError尝试使用谷歌浏览器HTML5文件API时(Getting FileError

2019-09-17 01:58发布

我试图创建一个使用Chrome的文件系统API的文件。 起初,我试着持久存储如下

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
webkitStorageInfo.requestQuota(webkitStorageInfo.PERSISTENT, 1024*1024, 
    function(grantedBytes) {
        window.requestFileSystem(webkitStorageInfo.PERSISTENT, grantedBytes, onInitFs, 
        errorHandler);
    }, 
    errorHandler);

它最初是工作的罚款。 但现在,当我尝试相同的代码是给我下面的错误

NOT_SUPPORTED_ERR: DOM Exception 9

然后我试图临时文件存储如下

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

这是给我一些FileError用这意味着安全性错误代码2。 谁能帮我对这些问题的?

Answer 1:

你们是不是要放置存储在本地计算机上的网页代码,并使用Chrome运行呢? 你加标志

--allow-file-access-from-files

在您的Chrome快捷方式? 我正巧遇到相同的错误你和我突然意识到,我忘了补充该标志来运行我的铬。



Answer 2:

我无法重现你的错误。 我做了使用文件系统API的脚本内容的简单扩展,它为我工作得很好。 你得到你的控制台上的错误? 如果不是,建立过这段代码,看看你得到任何更多的错误。

manifest.json的:

{
  "name": "Testing FS",
  "manifest_version":2,
  "version": "1.0",
  "content_scripts": [
    {
      "matches":["*://*.google.com/*"],
      "js":["script.js"]
    }
  ]
}

的script.js:

webkitStorageInfo.requestQuota(webkitStorageInfo.TEMPORARY, 1024*1024, function(grantedBytes) {
    console.log("bytes granted: ", grantedBytes);
    window.webkitRequestFileSystem(webkitStorageInfo.TEMPORARY, grantedBytes, onInitFs, errorHandler)
}, errorHandler);

function errorHandler(e) {
  console.log("FS error", e);
}

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


文章来源: Getting FileError when trying to use the HTML5 file api in google chrome