2

我已经使用 HTML5 提供的 FILESYSTEM API 成功存储了数据。但是我不知道在哪里可以识别本地存储库中的文件,以便备份存储的数据。我还检查了服务器(Tomcat 7.0)中应用程序的根目录,但找不到该文件。在使用 chrome 开发人员工具时,我检查了数据是否存储成功。

代码是这样的:

 window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;

            function onInitFs(fs)
            {
                fs.root.getFile('fpslog.txt', {create: false}, function(fileEntry) {

                        // Create a FileWriter object for our FileEntry (log.txt).
                        fileEntry.createWriter(function(fileWriter) {

                          fileWriter.seek(fileWriter.length); // Start write position at EOF.

                             fileWriter.onwriteend = function(e) {
                              console.log('Write completed.');
                            };

                              fileWriter.onerror = function(e) {
                              console.log('Write failed: ' + e.toString());
                            };

                          // Create a new Blob and write it to log.txt.
                          var blob = new Blob(['Hello World'], {type: 'text/plain'});

                          fileWriter.write(blob);

                        }, errorHandler);

                      }, errorHandler);

            }

            window.requestFileSystem(window.TEMPORARY, 5*1024*1024 /*5MB*/, onInitFs, errorHandler);

和错误功能:

function errorHandler(e) {
                  var msg = '';

                  switch (e.code) {
                    case FileError.QUOTA_EXCEEDED_ERR:
                      msg = 'QUOTA_EXCEEDED_ERR';
                      break;
                    case FileError.NOT_FOUND_ERR:
                      msg = 'NOT_FOUND_ERR';
                      break;
                    case FileError.SECURITY_ERR:
                      msg = 'SECURITY_ERR';
                      break;
                    case FileError.INVALID_MODIFICATION_ERR:
                      msg = 'INVALID_MODIFICATION_ERR';
                      break;
                    case FileError.INVALID_STATE_ERR:
                      msg = 'INVALID_STATE_ERR';
                      break;
                    default:
                      msg = 'Unknown Error';
                      break;
                  };

                  console.log('Error: ' + msg);
                }

在开发人员工具中,我确实没有看到错误打印,而是说“写入完成”,这意味着我能够在某处创建文件并存储数据。我想访问该数据以进行查看。正如教程已经提到的那样,我没有看到在根文件夹中创建任何文件。请提供任何帮助。

4

2 回答 2

2

您还可以使用根目录的filesystem:URL 查看文件。在地址栏中打开 filesystem:<YOUR_ORIGIN>/temporary/,替换为您的应用程序运行的来源(例如“http://stackoverflow.com”)。

您还可以在实验下的 DevTools 中启用“文件系统检查”。这可能还需要您在about:flags.

于 2012-11-16T17:23:16.397 回答
0

我找到了方法,使用 google chrome插件可以帮助您查看 HTML5 的文件系统 API 的内容。

于 2012-11-16T00:11:55.633 回答