Ast*_*aut 3 html filesystems android google-chrome html5-filesystem
我正在尝试创建一个能够访问大量文件的 HTML5 应用程序。因此,我查看了 FileSystem API 以便能够从本地文件系统读取文件。
我使用 phonegap File API 做了一个 PoC,一切都按预期工作,我能够在 Chrome 桌面上使用 FileSystem API 产生类似的结果......
但是我面临一个严重的问题,虽然我可以在桌面访问我的文件系统,但我无法从 Android Chrome 访问 sdcard。我尝试使用这个演示:
http://html5-demos.appspot.com/static/filesystem/filer.js/demos/index.html
我可以在桌面上从本地系统中选择文件:我的图片等......但我不能用 Android Chrome 做同样的事情
如何在 Android Chrome 中访问设备文件系统 /sdcard?
请务必记住,此文件系统是沙盒化的,这意味着一个 Web 应用程序无法访问另一个应用程序的文件。这也意味着您无法将文件读/写到用户硬盘驱动器上的任意文件夹(例如“我的图片”、“我的文档”等)。
FileSystem API 旨在允许您的应用程序创建和操作文件,这些文件将在您的应用程序使用之间保持不变。它不能用于从沙箱外部公开任意文件。
或者,文件 API可用于从整个系统读取文件,但不能修改文件。但是,File API 不能用于读取系统上的任意文件。它的用法基于 HTMLs<input type=file>标签,用户必须明确输入要读取的文件。
以上内容适用于在 Android Chrome 中运行的应用程序,就像在桌面 Chrome 中一样,因此除非用户愿意使用输入来授予对所需文件的访问权限,否则您很不走运。但是,您提到您还尝试使用 PhoneGap 进行 PoC。在PhoneGap的文件API,但大多是作为围绕HTML5实现的包装,有一些细微的差别,主要在于它允许访问任意文件在SD卡上。使用 API 调用时window.requestFileSystem(),您的成功回调将有一个参数,即一个FileSystem对象,其中的root属性是对 /sdcard 文件夹的引用。这可用于遍历您的 sdcard 并在其中的任何位置创建 FileReaders 和 FileWriters。
| 归档时间: |
|
| 查看次数: |
6641 次 |
| 最近记录: |