HTML5 是否允许拖放上传文件夹或文件夹树? [英] Does HTML5 allow drag-drop upload of folders or a folder tree?
本文介绍了HTML5 是否允许拖放上传文件夹或文件夹树?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我还没有看到任何这样做的例子.API 规范中不允许这样做吗?
I haven't seen any examples that do this. Is this not allowed in the API spec?
我正在寻找一种简单的拖放解决方案来上传整个照片文件夹树.
I am searching for an easy drag-drop solution for uploading an entire folder tree of photos.
推荐答案
现在可以了,感谢 Chrome >= 21.
It's now possible, thanks to 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);
更多信息:https://protonet.info/blog/html5-experiment-drag-drop-of-folders/
这篇关于HTML5 是否允许拖放上传文件夹或文件夹树?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文