How to distinguish folders and files drag and drop

2019-05-30 05:58发布

I can not find the way to distinguish between folders and files drop in FireFox Ajax. Looks like there are no signs in FireFox FileAPI that can tell if this is a folder or a file.

However I see that Google docs somehow can distinguish between folders and files drop. It does not relie on extensions or file length, files without extensions are uploaded correctly, as well as 0-lenth files are uploaded with no problem.

How do I distinguish between files and folders during D&D in FF?

1条回答
甜甜的少女心
2楼-- · 2019-05-30 06:22

This blog post suggests trying to read the file and reacting to the exception that will be thrown if it is a folder.

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
    }
}

In general: First assume the folder is a file and treat it like one, at some point things will go wrong and you can react to that.

查看更多
登录 后发表回答