Я впечатлен возможностью Gmail, позволяющей перетаскивать файлы в электронные письма для вложений, но когда я пытаюсь перетащить на нее папку, он говорит, что файл имеет 0 байт. Это ограничение Gmail, или это что-то, что принципиально не выполнимо с текущим спецификацией HTML 5?
Можно ли перетаскивать дескрипторы HTML 5?
Ответ 1
Теперь загрузка каталога доступна на chrome
вы можете выбрать каталог с использованием типа ввода
<input type='file' webkitdirectory >
и вы можете перетащить папку с папкой
<div id="dropzone"></div>
var dropzone = document.getElementById('dropzone');
dropzone.ondrop = function(e) {
var length = e.dataTransfer.items.length;
for (var i = 0; i < length; i++) {
var entry = e.dataTransfer.items[i].webkitGetAsEntry();
if (entry.isFile) {
... // do whatever you want
} else if (entry.isDirectory) {
... // do whatever you want
}
}
};
Ответ 2
Текущий черновик html5 поддерживает только объект списка файлов для обработки События getData. поэтому вы можете перетаскивать несколько файлов в цель перетаскивания, но не папки