我一直在使用Chrome中的FileSystem和File API来尝试实现瞬态"即时图库"。用户选择一个目录,然后其中的所有图像都显示在网页中。
但是我很难过,看来Chrome需要一些额外的启动参数来允许文件访问,FileSystem和File API不是W3C而且不可移植,我无法实例化某些对象...... 我甚至无法获得打开文件的目录绝对路径(虽然我可能不需要绝对路径,但我觉得它缺乏良好的文档)。
无论如何,我想知道如何实现这个?还有其他API吗?一个更简单的方法?我是否绝对需要使用FileSystem和File,并设置Chrome的参数?
答案 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/