HTML5 FileSystem API

时间:2013-10-06 09:45:41

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

我已经通过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资源管理器中看到它在文件系统中?

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

排序,文件系统API不会加密本地存储的数据。但它确实会改变文件命名约定。所以你可能已经将它命名为log.txt,但是如果你在文件系统API存储文件的位置四处寻找,你可能会在一些任意随机生成的文件名下找到它,例如" 00010"或者在" 24/00123"。

等随机目录中

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

在Windows 7上,Chrome可以在这里找到:

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

如果您想在其他操作系统上找到Chrome存储位置,请参阅this post

答案 2 :(得分:0)

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

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