我还没有看到任何这样做的例子。这在api规范中是不允许的吗?
我正在寻找一种简单的拖放解决方案来上传整张照片的文件夹树。
发布于 2018-04-09 09:45:01
Chrome >= 21可以
function traverseFileTree(item, path) {
path = path || "";
if (item.isFile) {
// Get file
item.file(function(file) {
console.log("File:", path + file.name);
});
} else if (item.isDirectory) {
// Get folder contents
var dirReader = item.createReader();
dirReader.readEntries(function(entries) {
for (var i=0; i<entries.length; i++) {
traverseFileTree(entries[i], path + item.name + "/");
}
});
}
}
dropArea.addEventListener("drop", function(event) {
event.preventDefault();
var items = event.dataTransfer.items;
for (var i=0; i<items.length; i++) {
// webkitGetAsEntry is where the magic happens
var item = items[i].webkitGetAsEntry();
if (item) {
traverseFileTree(item);
}
}
}, false);
发布于 2018-04-09 10:33:47
在给HTML 5邮件列表的邮件中:
HTML5现在必须一次上传多个文件。浏览器可以允许用户一次选择多个文件,包括跨多个目录; 这有点超出了规范的范围。
因此,假设他认为使用拖放功能上载文件夹也超出范围是安全的。显然,这取决于浏览器为单个文件提供服务。
上传文件夹也会遇到其他一些困难:
这项建议必须有两项检查(如果完全可以的话):
https://stackoverflow.com/questions/-100003829
复制相似问题