0

我正在建立一个网站并计划将一些数据保存到本地文件系统(Windows)。数据将通过 AJAX 方法从服务器端 PHP 代码返回。一旦 JavaScript 接收到回显的数据,数据将被写入新创建的本地文件。我想知道如何实现该功能。网上找到的一个示例 ( http://www.html5rocks.com/en/tutorials/file/filesystem/ ) 使用以下 API:

function onInitFs(fs) {

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

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

  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(['Lorem Ipsum'], {type: 'text/plain'});

  fileWriter.write(blob);

  }, errorHandler);

 }, errorHandler);

}

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

虽然这段 JavaScript 代码没有错误,但新创建的文件“log.txt”却无处可寻。即使在代码中将其重命名为唯一名称后,我仍然找不到该文件。

4

2 回答 2

0

要查看在 Chrome 中创建的文件,您可以使用文件系统资源管理器插件:

https://chrome.google.com/webstore/detail/html5-filesystem-explorer/nhnjmpbdkieehidddbaeajffijockaea

虽然我使用过这个插件,但我与它的开发没有任何关系,所以如果你足够信任它以在本地安装它,你必须自己决定。祝你好运!

于 2014-12-23T11:53:17.303 回答
0

我刚刚测试过,谷歌没有创建一个名为 log.txt 的文件(但是可以通过 File-API 使用这个名称访问该文件)。

对我来说(WinXP),该文件位于

 %LOCALAPPDATA%/Google/Chrome/User Data/Default/FileSystem/

你会发现有一些以数字命名的文件夹,在这些文件夹中可能有 2 个文件夹,分别命名为tp。您在t-folder 中进行了 ro 搜索(因为您使用过)window.TEMPORARY

t 文件夹内还有一个以数字命名的文件夹,其中包含以数字命名的文件。这些文件是存储的文件。

对我来说,例如

%LOCALAPPDATA%/Google/Chrome/User Data/Default/FileSystem/000/t/00/00000000
于 2013-08-17T02:10:45.660 回答