【问题标题】:HTML5 FileSystem APIHTML5 文件系统 API
【发布时间】:2013-10-13 00:01:14
【问题描述】:

我已通过 fileSystem API 创建了文件“log.txt”

function initFS(grantedBytes) {
    window.requestFileSystem(window.PERSISTENT, grantedBytes, function (filesystem) {
        fs = filesystem;

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

            // fileEntry.isFile === true
            // fileEntry.name == 'log.txt'
            // fileEntry.fullPath == '/log.txt'
            console.log(fileEntry.fullPath);



        }, errorHandler);
    }, errorHandler);
}

initFS(1024*1024);

并且不完全了解它的结构。有什么方法可以探索这个文件 例如从 Windows 资源管理器并在文件系统中查看它?

【问题讨论】:

  • HTML5 文件系统是沙盒的:没有简单的方法可以从 Windows 访问它。这是一项安全功能,可防止恶意代码攻击主机文件系统。
  • 我什至不能将脚本标签的src设置为这个文件???
  • 答案是否定的,并且有充分的理由。我在此处的回答中解释了更完整的答案以及原因:stackoverflow.com/a/19281109/2567232
  • 忘记添加...。您的问题/主题已在 Wiki 中针对此标签进行了处理(请参阅 stackoverflow.com/tags/html5-filesystem/info
  • 您可以使用demo 看看文件系统结构如何变化。

标签: javascript html google-chrome html5-filesystem google-chrome-app


【解决方案1】:

文件系统 API 不加密本地存储的数据。然而,它确实改变了文件命名约定。因此,您可能已将其命名为 log.txt,但如果您四处寻找文件系统 API 存储文件的位置,您可能会在诸如“00010”之类的任意随机生成的文件名下或诸如“24/00123”之类的随机目录中找到它”。

无论如何,您可以在文本编辑器中打开每个文件 - 如果您的文件中写入了文本,您就可以查看它。或者,如果您将 JSON 写入文件系统 API,那么当您在文本编辑器中打开时,它将采用人类可读的字符串格式。

在 Windows 7 上,使用 Chrome 可以在此处找到:

C:\Users\{user}\AppData\Local\Google\Chrome\User Data\Default\File System\

如果您想通过 Chrome 在其他操作系统上了解它的存储位置,请参阅this post

【讨论】:

    【解决方案2】:

    最终用户或维护者可能希望查看的日志文件应存储在普通文件系统中的某个位置。虽然选中的答案建议在使用 HTML5 API 时如何找到它们,但此位置可能会发生变化并且很难找到。

    更好的解决方案是让用户在安装应用程序时使用 chrome.fileSystem.chooseEntry 选择日志文件(可能还有其他文件)的目录,然后保留该条目并将其保存在本地存储中,以便它可以可在后续启动时重复使用。

    【讨论】:

      【解决方案3】:

      还有一种更简单的方法。在 chrome 上,访问这些网址。
      对于 http,它是 "filesystem:http://"+location.host+"/persistent/"
      对于 https,它是 "filesystem:https://"+location.host+"/persistent/"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多