Apia saysThe File API reads user-selected or dropped files via File, Blob, and FileReader.
A file input or drop gives you File objects (a kind of Blob) with name, size, type. Read them with FileReader (readAsText, readAsDataURL) or the modern promise-based file.text()/file.arrayBuffer(). URL.createObjectURL(file) makes a preview URL — revoke it when done.
Power-ups you unlock
File extends Blob: name, size, type
Read with file.text() / FileReader
URL.createObjectURL for previews (revoke after)
Source: file input or a drop
Legacy Larry attacks — common mistakes
Not revoking object URLs (memory leak)
Assuming files are tiny (handle large ones)
Blocking on reads instead of awaiting
Boss battleRead a chosen text file and display its contents with file.text().