问题
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:
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.
来源:https://stackoverflow.com/questions/20378708/how-to-distinguish-folders-and-files-drag-and-drop-ajax-upload-in-firefox