Browser Support
Most browsers support basic file selection with drag & drop or a file input:
Folder drop
For folder drop we use the File System API, which has more limited support:
- DataTransferItem.getAsFile()
- DataTransferItem.webkitGetAsEntry()
- FileSystemEntry
- FileSystemFileEntry.file()
- FileSystemDirectoryEntry.createReader()
- FileSystemDirectoryReader.readEntries()
Where it's available, directory traversal prefers the newer File System Access API, which avoids a class of failures in the legacy entries API (for example, dragging a folder from Windows Explorer into a Chromium browser).