【问题标题】:JavaScript creates and saves a file to local file systemJavaScript 创建文件并将其保存到本地文件系统
【发布时间】:2013-08-19 11:38:48
【问题描述】:

我正在建立一个网站并计划将一些数据保存到本地文件系统 (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”却无处可寻。即使在代码中将其重命名为唯一名称后,我仍然找不到该文件。

【问题讨论】:

    标签: javascript html file filewriter


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      您会发现一些以数字命名的文件夹,在这些文件夹中可能有两个文件夹,分别名为 tp 。 您在t-文件夹中进行了ro搜索(因为您使用了window.<b>T</b>EMPORARY

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

      对我来说,例如

      %LOCALAPPDATA%/Google/Chrome/User Data/Default/FileSystem/000/t/00/00000000
      

      【讨论】:

      • 我在这些文件夹中找不到新创建的文件。我放弃了。
      猜你喜欢
      • 2016-11-22
      • 2016-01-24
      • 2017-06-10
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多