我想将无限数量的文件保存到用户的硬盘驱动器,而不需要用户单击对话框。
我见过的关于使用无限存储的唯一文档在这里: https: //developers.google.com/chrome/whitepapers/storage,它说它仅适用于 Chrome 应用程序。
我见过的 Chrome API 的所有示例都fileSystem表明,为了创建新文件并向其写入内容,用户需要从函数中获取条目对象chrome.fileSystem.chooseEntry,这意味着用户需要通过一个对话框。
常规fileSystemAPI 看起来可以将文件保存到用户的扩展沙箱中,而不需要用户通过对话框,但我想知道,它是否具有"unlimitedStorage"仅授予应用程序的权限?如果只有 Chrome API 拥有该权限,我不会感到惊讶。
如果我使用常规fileSystemAPI,我需要使用请求文件系统window.webkitRequestFileSystem(我有点惊讶window.requestFileSystem在 Chrome 中不适用于我),但该方法需要type("persistent"或"temporary"),以及size(应用程序存储所需的字节数)论据。
显然,您不会在 Chrome API 中执行此操作。但是,普通fileSystemAPI 允许您在需要时使用配额管理 API 请求更多存储空间,这也记录在我上面链接的页面上
在https://developers.google.com/chrome/apps/docs/developers_guide#manifest上,它说:
该
"permissions"字段允许您指定应用程序所需的 HTML5 权限。通过指定"unlimitedStorage"和"notifications",此应用程序能够使用这些 HTML5 功能,而无需反复请求用户许可。在应用程序安装过程中,用户会被告知该应用程序需要哪些权限;安装应用程序会隐式授予其 URL 与"apps"清单字段中的 URL 匹配的所有页面的这些权限。
因此,我希望该"unlimitedStorage"权限只是意味着我可以直接调用window.webkitRequestFileSystem(window.PERSISTENT, anySize, successCallback),而不是要求用户在需要时提高配额,Chrome 会自动执行此操作。
问题1:有谁知道这是否有效?
但是,如果只有 …
html javascript google-chrome google-chrome-extension google-chrome-app