HTML5 Drag and Drop - обнаружение папок в Safari (FileList, File)

Я настроил сценарий загрузки файлов перетаскиванием в JS (AJAX POST), и у меня возникают трудности с фильтрацией папок в Safari - версия 5.0.3 (6533.19 .4).

Всякий раз, когда я перетаскиваю в браузер несколько файлов / папок, Chrome отфильтровывает папки, а Firefox возвращает 0 для .size , поэтому в таких случаях легко защитить себя. Я настроил сценарий загрузки файлов перетаскиванием в JS (AJAX POST), и у меня возникли трудности с фильтрацией папок в Safari - версия 5.0.3 (6533.19.4). Всякий раз, когда я перетаскиваю несколько файлов / папок в ...

Я настроил сценарий загрузки файлов перетаскиванием в JS (AJAX POST), и у меня возникают трудности с фильтрацией папок в Safari - версия 5.0.3 (6533.19 .4).

Всякий раз, когда я перетаскиваю в браузер несколько файлов / папок, Chrome отфильтровывает папки, а Firefox возвращает 0 для .size , поэтому в таких случаях легко защититься. Я настроил сценарий загрузки файлов перетаскиванием в JS (AJAX POST), и мне трудно фильтровать папки в Safari - версия 5.0.3 (6533.19.4). Всякий раз, когда я перетаскиваю несколько файлов / папок в ...

Я настроил сценарий загрузки файлов перетаскиванием в JS (AJAX POST), и у меня возникают трудности с фильтрацией папок в Safari - версия 5.0.3 (6533.19 .4).

Всякий раз, когда я перетаскиваю в браузер несколько файлов / папок, Chrome отфильтровывает папки, а Firefox возвращает 0 для .size , поэтому в таких случаях легко защититься. Однако Safari вернет файл размером 68 байт (размер папки).

Есть ли способ проверить, является ли этот файл (элемент в FileList ) папкой ? Кажется, не удается найти в File / Blob API ничего, что проверяет это условие (нет смысла пытаться .type , поскольку он ничего не возвращает для неизвестных файлов, а также для папок. ..)

Дополнительная информация:

Обычно происходит то, что запрос AJAX имеет пустое тело. Я загружаю с помощью FormData :

var file = ...; // the dropped file
var formData = new FormData();
formData.append("file", file);
var xhr = new XMLHttpRequest();
...
xhr.send(formData);

8
задан biasedbit 1 February 2011 в 00:57
поделиться