【问题标题】:HTML 5 filesystem access Type ErrorHTML 5 文件系统访问类型错误
【发布时间】:2013-06-14 20:06:46
【问题描述】:

我正在开发一个 web 应用程序,我正在尝试使用文件系统 API 访问目录。在根据规范访问目录之前,我需要向用户请求配额。我应该这样做:

...
navigator.webkitPersistentStorage.requestQuota(PERSISTENT, 1024*1024, 
function(gB){
   window.requestFileSystem(PERSISTENT, gB, onInitFs, errorHandler);
}, function(e){
   console.log('Error', e);
})
...

每次我这样做都会收到**TypeError: Type error** 消息。请问我做错了什么?提前致谢。
注意:onInitFs 和 errorHandler 已定义,我只是没有在此处包含代码。

【问题讨论】:

  • 对于初学者,我没有看到 onInitFs 或 errorHandler 定义...
  • 他们已经被定义了......这不是问题......无论如何,谢谢。

标签: javascript html html5-filesystem web-storage


【解决方案1】:

我遇到了同样的问题,有人发布了解决方案,在 filesystem-api-not-working-in-chrome-v27-v29 找到

navigator.webkitPersistentStorage.requestQuota(1024*1024, 
  function(gB){
  window.requestFileSystem(PERSISTENT, gB, onInitFs, errorHandler);
}, function(e){
  console.log('Error', e);
})

您必须从 navigator.webkitPersistentStorage.requestQuota(...) 中删除 PERSISTENT

【讨论】:

    【解决方案2】:

    来自https://developers.google.com/chrome/whitepapers/storage 的这个版本似乎至少更进一步:

    window.webkitStorageInfo.requestQuota(PERSISTENT, 1024*1024, function(grantedBytes) {
      window.webkitRequestFileSystem(PERSISTENT, grantedBytes, onInitFs, errorHandler); 
    }, function(e) {
      console.log('Error', e); 
    });
    

    它是窗口而不是导航器...

    【讨论】:

    • 是的,谢谢,这行得通。顺便说一句,我使用“导航器”而不是“窗口”的原因是因为我不断收到这些警告消息:'window.webkitStorageInfo' 已弃用。请改用“navigator.webkitTemporaryStorage”或“navigator.webkitPersistentStorage”。
    • 你不应该使用windew.webkitStorageInfo,它目前已被弃用
    猜你喜欢
    • 1970-01-01
    • 2014-10-20
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    相关资源
    最近更新 更多