This repository has been archived on 2024-08-19. You can view files and clone it, but cannot push or open issues or pull requests.
core/vendor/blueimp/jquery-file-upload
Mario Vavti 3fac7b5bb7 composer update blueimp/jquery-file-upload
(cherry picked from commit 53b8ee7866eb1394980b08b90153a63563832391)
2019-09-23 12:19:33 +02:00
..
cors update jquery-file-upload and psr-log via composer 2018-11-25 10:18:26 +01:00
css yet another blueimp vulnerability. Move to composer. 2018-10-31 15:56:08 +11:00
img yet another blueimp vulnerability. Move to composer. 2018-10-31 15:56:08 +11:00
js composer update blueimp/jquery-file-upload 2019-09-23 12:19:33 +02:00
server update composer libs 2019-06-17 11:50:17 +02:00
test update jquery-file-upload and psr-log via composer 2018-11-25 10:18:26 +01:00
.gitignore yet another blueimp vulnerability. Move to composer. 2018-10-31 15:56:08 +11:00
.jshintrc yet another blueimp vulnerability. Move to composer. 2018-10-31 15:56:08 +11:00
.npmignore yet another blueimp vulnerability. Move to composer. 2018-10-31 15:56:08 +11:00
angularjs.html update jquery-file-upload and psr-log via composer 2018-11-25 10:18:26 +01:00
basic-plus.html composer update blueimp/jquery-file-upload 2019-09-23 12:19:33 +02:00
basic.html update jquery-file-upload and psr-log via composer 2018-11-25 10:18:26 +01:00
bower-version-update.js update jquery-file-upload and psr-log via composer 2018-11-25 10:18:26 +01:00
bower.json composer update blueimp/jquery-file-upload 2019-09-23 12:19:33 +02:00
composer.json yet another blueimp vulnerability. Move to composer. 2018-10-31 15:56:08 +11:00
CONTRIBUTING.md yet another blueimp vulnerability. Move to composer. 2018-10-31 15:56:08 +11:00
index.html update blueimp/jquery-file-upload 2019-04-25 11:50:26 +02:00
jquery-ui.html update blueimp/jquery-file-upload 2019-04-25 11:50:26 +02:00
LICENSE.txt yet another blueimp vulnerability. Move to composer. 2018-10-31 15:56:08 +11:00
package.json composer update blueimp/jquery-file-upload 2019-09-23 12:19:33 +02:00
README.md composer update blueimp/jquery-file-upload 2019-09-23 12:19:33 +02:00
SECURITY.md update blueimp/jquery-file-upload 2019-04-25 11:50:26 +02:00
VULNERABILITIES.md yet another blueimp vulnerability. Move to composer. 2018-10-31 15:56:08 +11:00

jQuery File Upload Plugin

Description

File Upload widget with multiple file selection, drag&drop support, progress bars, validation and preview images, audio and video for jQuery.
Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.

Demo

Demo File Upload

⚠️ Security Notice

Security related releases:

Please read the SECURITY document for instructions on how to securely configure your Webserver for file uploads.

Setup

Features

  • Multiple file upload:
    Allows to select multiple files at once and upload them simultaneously.
  • Drag & Drop support:
    Allows to upload files by dragging them from your desktop or file manager and dropping them on your browser window.
  • Upload progress bar:
    Shows a progress bar indicating the upload progress for individual files and for all uploads combined.
  • Cancelable uploads:
    Individual file uploads can be canceled to stop the upload progress.
  • Resumable uploads:
    Aborted uploads can be resumed with browsers supporting the Blob API.
  • Chunked uploads:
    Large files can be uploaded in smaller chunks with browsers supporting the Blob API.
  • Client-side image resizing:
    Images can be automatically resized on client-side with browsers supporting the required JS APIs.
  • Preview images, audio and video:
    A preview of image, audio and video files can be displayed before uploading with browsers supporting the required APIs.
  • No browser plugins (e.g. Adobe Flash) required:
    The implementation is based on open standards like HTML5 and JavaScript and requires no additional browser plugins.
  • Graceful fallback for legacy browsers:
    Uploads files via XMLHttpRequests if supported and uses iframes as fallback for legacy browsers.
  • HTML file upload form fallback:
    Allows progressive enhancement by using a standard HTML file upload form as widget element.
  • Cross-site file uploads:
    Supports uploading files to a different domain with cross-site XMLHttpRequests or iframe redirects.
  • Multiple plugin instances:
    Allows to use multiple plugin instances on the same webpage.
  • Customizable and extensible:
    Provides an API to set individual options and define callback methods for various upload events.
  • Multipart and file contents stream uploads:
    Files can be uploaded as standard "multipart/form-data" or file contents stream (HTTP PUT file upload).
  • Compatible with any server-side application platform:
    Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.

Requirements

Mandatory requirements

Optional requirements

The user interface of all versions, except the jQuery UI version, is built with Bootstrap and icons from Glyphicons.

Cross-domain requirements

Cross-domain File Uploads using the Iframe Transport plugin require a redirect back to the origin server to retrieve the upload results. The example implementation makes use of result.html as a static redirect page for the origin server.

The repository also includes the jQuery XDomainRequest Transport plugin, which enables limited cross-domain AJAX requests in Microsoft Internet Explorer 8 and 9 (IE 10 supports cross-domain XHR requests).
The XDomainRequest object allows GET and POST requests only and doesn't support file uploads. It is used on the Demo to delete uploaded files from the cross-domain demo file upload service.

Custom Backends

You can add support for various backends by adhering to the specification outlined here.

Browsers

Desktop browsers

The File Upload plugin is regularly tested with the latest browser versions and supports the following minimal versions:

  • Google Chrome
  • Apple Safari 4.0+
  • Mozilla Firefox 3.0+
  • Opera 11.0+
  • Microsoft Internet Explorer 6.0+

Mobile browsers

The File Upload plugin has been tested with and supports the following mobile browsers:

  • Apple Safari on iOS 6.0+ (see Caveats below)
  • Google Chrome on iOS 6.0+ (see Caveats below)
  • Google Chrome on Android 4.0+
  • Default Browser on Android 2.3+
  • Opera Mobile 12.0+

Caveats

  • 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 option uniqueFilenames: {} as part of the options object, which tells the uploader to deduplicate filenames. More details here.

Supported features

For a detailed overview of the features supported by each browser version, please have a look at the Extended browser support information.

Contributing

Bug fixes and new features can be proposed using pull requests. Please read the contribution guidelines before submitting a pull request.

Support

This project is actively maintained, but there is no official support channel.
If you have a question that another developer might help you with, please post to Stack Overflow and tag your question with blueimp jquery file upload.

License

Released under the MIT license.