Как отличить папки и файлы перетаскивания 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
    }
}

В общем: сначала предположим, что папка является файлом, и относитесь к нему как к одному, в какой-то момент все пойдет не так, и вы можете отреагировать на это.

Другие вопросы по тегам