The FileUpload control implementation is quite dated and still relies on XMLHttpRequest. Also, the file type and size validations are done only on the server, which is impractical for large files.
We should consider creating a more up-to-date implementation.