See also File upload support on mobile.
The following browsers support multiple file selection:
Safari on Windows has a bug and reports a file size of 0 bytes when selecting multiple files. Selecting single files works.
It is possible to select a complete folder structure, though this is currently only supported by Google Chrome.
To enable this feature, the following vendor-specific directory attributes have to be added to the file input field:
<input type="file" name="files" multiple directory webkitdirectory mozdirectory>
The following browsers support drag & drop:
Safari on Windows has a bug that adds "" characters at the end of the file name or mangles the file name in another way and reports a file size of 0 bytes when dropping files. Trying to drop the same file(s) again seems to work.
It is possible to drag&drop a complete folder structure, though this is currently only supported by Google Chrome.
The following browsers support pasting images from the clipboard:
The following browsers have complete support for upload progress indication:
Depending on the size of the file, the operating system platform and the network throughput, the number of progress events triggered might differ.
e.g. Google Chrome might only trigger one progress event for the upload of a 100KB file on Windows XP, but trigger multiple progress events for the same file on Windows 7 and Mac OSX (tested with Google Chrome version 22).
Please also note that some programs that analyze network traffic are known to interfere with the number of progress events triggered, e.g. Web Debugging Proxies or Firewall/Antivirus software.
The following browsers have support for image previews prior to uploading files:
The following browsers report complete file meta data prior to uploading files:
The reported file meta data consists of the following properties:
The default browser on Android 4.1.2 doesn't report the file type.
The Iframe Transport is used for other browsers. The Iframe Transport requires a file input selection to upload files.
The following browsers support splitting up file uploads into multiple chunks:
The following browsers support client-side image resizing functionality:
All browsers support cross-domain file uploads.
Either via native CORS (Cross Origin Resource Sharing) features, or via the Iframe Transport.
For more information and the requirements, please see Cross-domain-uploads.
Last edited by Sebastian Tschan,