-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Browser support
The following browsers support at least one form of AJAX style file uploads, either via XHR or via the Iframe Transport:
- Google Chrome
- Apple Safari 4.0+
- Mozilla Firefox 3.0+
- Opera 11.0+
- Microsoft Internet Explorer 6.0+
- Apple Safari on iOS 6.0+ (iOS 8.0.2 fixes iOS 8 file upload bug)
- Google Chrome on iOS 6.0+
- Google Chrome on Android 4.0+
- Default Browser on Android 2.3+
- Opera Mobile 12.0+
See also File upload support on mobile.
The following browsers support multiple file selection:
- Google Chrome
- Apple Safari 5.0+
- Mozilla Firefox 3.6+
- Opera 11.0+
- Microsoft Internet Explorer 10.0+
- Apple Safari Mobile on iOS 6.0+
- Google Chrome on iOS 6.0+
- Safari on Windows has a bug and reports a file size of 0 bytes when selecting multiple files. Selecting single files works.
- iOS 9 has a known bug
where photos chosen from the Photo Library are all given the name
image.jpeg
, which is problematic when uploading multiple files at a time. Ideally your server should be responsible for deduplicating file uploads (example). If you don't have control, as in the case of direct uploads to S3, you can pass an optionuniqueFilenames: {}
as part of the options object, which tells the uploader to deduplicate filenames. More details here.
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>
The following browsers support drag & drop:
- Google Chrome
- Apple Safari 5.0+
- Mozilla Firefox 4.0+
- Opera 12.0+ (broken, see Issue #2080)
- Microsoft Internet Explorer 10.0+
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:
- Google Chrome
The following browsers have complete support for upload progress indication:
- Google Chrome
- Apple Safari 5.0+
- Mozilla Firefox 4.0+
- Opera 12.0+
- Microsoft Internet Explorer 10.0+
- Apple Safari Mobile on iOS 6.0+
- Google Chrome on Android 4.0+
- Opera Mobile 12.0+
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:
- Google Chrome
- Apple Safari 6.0+
- Mozilla Firefox 3.6+
- Opera 11.0+
- Microsoft Internet Explorer 10.0+
- Apple Safari Mobile on iOS 6.0+
- Google Chrome on iOS 6.0+
- Google Chrome on Android 4.0+
- Default Browser on Android 3.2+
- The default browser on Android 4.1.2 doesn't seem to support image previews.
The following browsers report complete file meta data prior to uploading files:
- Google Chrome
- Apple Safari 4.0+
- Mozilla Firefox 3.6+
- Opera 10.0+
- Microsoft Internet Explorer 10.0+
- Apple Safari Mobile on iOS 6.0+
- Google Chrome on iOS 6.0+
- Google Chrome on Android 4.0+
- Default Browser on Android 3.2+
- Opera Mobile 12.0+
The reported file meta data consists of the following properties:
- name: The name of the file, e.g. banana.jpg.
- size: The size of the file in bytes, e.g. 130073 (131 KB).
- type: The type of the file, e.g. image/jpg.
The default browser on Android 4.1.2 doesn't report the file type.
The following browsers support XHR file uploads, which allows advanced usage of the file upload API:
- Google Chrome
- Apple Safari 5.0+
- Mozilla Firefox 4.0+
- Opera 12.0+
- Microsoft Internet Explorer 10.0+
- Apple Safari Mobile on iOS 6.0+
- Google Chrome on iOS 6.0+
- Google Chrome on Android 4.0+
- Default Browser on Android 3.2+
- Opera Mobile 12.0+
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:
- Google Chrome
- Apple Safari 6.0+
- Mozilla Firefox 4.0+
- Opera 12.0+ (broken, Opera fails to properly upload Blob objects)
- Microsoft Internet Explorer 10.0+
- Apple Safari Mobile on iOS 6.0+
- Google Chrome on iOS 6.0+
- Google Chrome on Android 4.0+
The following browsers support client-side image resizing functionality:
- Google Chrome
- Apple Safari 6.0+
- Mozilla Firefox 4.0+
- Opera 12.0+ (broken, Opera fails to properly upload Blob objects)
- Microsoft Internet Explorer 10.0+
- Apple Safari Mobile on iOS 6.0+
- Google Chrome on iOS 6.0+
- Google Chrome on Android 4.0+
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.