Как отличить папки и файлы перетаскивания Ajax с загрузкой в FireFox
Я не могу найти способ различать папки и файлы, сбрасываемые в FireFox Ajax. Похоже, что в FireFox FileAPI нет никаких признаков того, что это папка или файл.
Однако я вижу, что документы Google как-то могут различать папки и файлы. Он не зависит от расширений или длины файлов, файлы без расширений загружаются корректно, а также файлы с нулевой длиной загружаются без проблем.
Как отличить файлы и папки во время D&D в FF?
1 ответ
Решение
В этом сообщении предлагается попытаться прочитать файл и отреагировать на исключение, которое будет выдано, если это папка.
if (!f.type && f.size%4096 == 0 && f.size <= 102400) {
try {
reader = new FileReader();
reader.readAsBinaryString(f);
} catch (NS_ERROR_FILE_ACCESS_DENIED) {
//file is a directory
}
}
В общем: сначала предположим, что папка является файлом, и относитесь к нему как к одному, в какой-то момент все пойдет не так, и вы можете отреагировать на это.