读取HTML 5中的用户目录并在其中加载图像

时间:2015-12-14 16:03:55

标签: html google-chrome filesystems

我一直在使用Chrome中的FileSystem和File API来尝试实现瞬态"即时图库"。用户选择一个目录,然后其中的所有图像都显示在网页中。

但是我很难过,看来Chrome需要一些额外的启动参数来允许文件访问,FileSystem和File API不是W3C而且不可移植,我无法实例化某些对象...... 我甚至无法获得打开文件的目录绝对路径(虽然我可能不需要绝对路径,但我觉得它缺乏良好的文档)。

无论如何,我想知道如何实现这个?还有其他API吗?一个更简单的方法?我是否绝对需要使用FileSystem和File,并设置Chrome的参数?

1 个答案:

答案 0 :(得分:0)

为了读取目录中的文件,您需要创建一个DirectoryReader对象,并使用readEntries()方法读取目录的内容:

fs.root.getDirectory('Documents', {}, function(dirEntry){<br>
  var dirReader = dirEntry.createReader();
  dirReader.readEntries(function(entries) {<br>
    for(var i = 0; i < entries.length; i++) {
      var entry = entries[i];
      if (entry.isDirectory){
        console.log('Directory: ' + entry.fullPath);
      }
      else if (entry.isFile){
        console.log('File: ' + entry.fullPath);
      }
    }

  }, errorHandler);
}, errorHandler);

请看一下:http://code.tutsplus.com/tutorials/toying-with-the-html5-filesystem-api--net-24719

但我认为只有当用户在输入字段中选择了多个文件时,Chrome才能访问用户从其计算机中选择的整个目录。如果这样可以满足您的需求,那么这里有一个很好的教程: http://www.html5rocks.com/en/tutorials/file/dndfiles/