PHPackages                             silvestra/jquery-file-upload - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. silvestra/jquery-file-upload

ActiveComponent[File &amp; Storage](/categories/file-storage)

silvestra/jquery-file-upload
============================

010JavaScript

Since Sep 15Pushed 11y ago1 watchersCompare

[ Source](https://github.com/Silvestra/jQuery-File-Upload)[ Packagist](https://packagist.org/packages/silvestra/jquery-file-upload)[ RSS](/packages/silvestra-jquery-file-upload/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

jQuery File Upload Plugin
=========================

[](#jquery-file-upload-plugin)

Demo
----

[](#demo)

[Demo File Upload](http://blueimp.github.io/jQuery-File-Upload/)

Description
-----------

[](#description)

File Upload widget with multiple file selection, drag&amp;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.

Setup
-----

[](#setup)

- [How to setup the plugin on your website](https://github.com/blueimp/jQuery-File-Upload/wiki/Setup)
- [How to use only the basic plugin (minimal setup guide).](https://github.com/blueimp/jQuery-File-Upload/wiki/Basic-plugin)

Support
-------

[](#support)

- **[Support Forum](https://groups.google.com/d/forum/jquery-fileupload)**
    **Support requests** and **general discussions** about the File Upload plugin can be posted to the official [Support Forum](https://groups.google.com/d/forum/jquery-fileupload).
    If your question is not directly related to the File Upload plugin, you might have a better chance to get a reply by posting to [Stack Overflow](http://stackoverflow.com/questions/tagged/blueimp+jquery+file-upload).
- Bugs and Feature requests
    **Bugs** and **Feature requests** can be reported using the [issues tracker](https://github.com/blueimp/jQuery-File-Upload/issues).
    Please read the [issue guidelines](https://github.com/blueimp/jQuery-File-Upload/blob/master/CONTRIBUTING.md) before posting.

Features
--------

[](#features)

- **Multiple file upload:**
    Allows to select multiple files at once and upload them simultaneously.
- **Drag &amp; Drop support:**
    Allows to upload files by dragging them from your desktop or filemanager 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
------------

[](#requirements)

### Mandatory requirements

[](#mandatory-requirements)

- [jQuery](http://jquery.com/) v. 1.6+
- [jQuery UI widget factory](http://api.jqueryui.com/jQuery.widget/) v. 1.9+ (included)
- [jQuery Iframe Transport plugin](https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.iframe-transport.js) (included)

The jQuery UI widget factory is a requirement for the basic File Upload plugin, but very lightweight without any other dependencies from the jQuery UI suite.

The jQuery Iframe Transport is required for [browsers without XHR file upload support](https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support).

### Optional requirements

[](#optional-requirements)

- [JavaScript Templates engine](https://github.com/blueimp/JavaScript-Templates) v. 2.5.3+
- [JavaScript Load Image library](https://github.com/blueimp/JavaScript-Load-Image) v. 1.11.0+
- [JavaScript Canvas to Blob polyfill](https://github.com/blueimp/JavaScript-Canvas-to-Blob) v. 2.1.0+
- [blueimp Gallery](https://github.com/blueimp/Gallery) v. 2.12.0+
- [Bootstrap CSS framework](http://getbootstrap.com/) v. 3.0.0+
- [Glyphicons](http://glyphicons.com/)

The JavaScript Templates engine is used to render the selected and uploaded files for the Basic Plus UI and jQuery UI versions.

The JavaScript Load Image library and JavaScript Canvas to Blob polyfill are required for the image previews and resizing functionality.

The blueimp Gallery is used to display the uploaded images in a lightbox.

The user interface of all versions except the jQuery UI version is built with Twitter's [Bootstrap](http://getbootstrap.com/) framework and icons from [Glyphicons](http://glyphicons.com/).

### Cross-domain requirements

[](#cross-domain-requirements)

[Cross-domain File Uploads](https://github.com/blueimp/jQuery-File-Upload/wiki/Cross-domain-uploads) using the [Iframe Transport plugin](https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.iframe-transport.js) require a redirect back to the origin server to retrieve the upload results. The [example implementation](https://github.com/blueimp/jQuery-File-Upload/blob/master/js/main.js) makes use of [result.html](https://github.com/blueimp/jQuery-File-Upload/blob/master/cors/result.html) as a static redirect page for the origin server.

The repository also includes the [jQuery XDomainRequest Transport plugin](https://github.com/blueimp/jQuery-File-Upload/blob/master/js/cors/jquery.xdr-transport.js), 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](http://blueimp.github.io/jQuery-File-Upload/) to delete uploaded files from the cross-domain demo file upload service.

Browsers
--------

[](#browsers)

### Desktop 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

[](#mobile-browsers)

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

- Apple Safari on iOS 6.0+
- Google Chrome on iOS 6.0+
- Google Chrome on Android 4.0+
- Default Browser on Android 2.3+
- Opera Mobile 12.0+

### Supported features

[](#supported-features)

For a detailed overview of the features supported by each browser version please have a look at the [Extended browser support information](https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support).

License
-------

[](#license)

Released under the [MIT license](http://www.opensource.org/licenses/MIT).

Donations
---------

[](#donations)

jQuery File Upload is free software, but you can donate to support the developer, Sebastian Tschan:

Flattr: [![Flattr](https://camo.githubusercontent.com/d72e55c5c5baef1656773d3bb52c77a2566196f35e85f394f3196e2f748d679e/68747470733a2f2f6170692e666c617474722e636f6d2f627574746f6e2f666c617474722d62616467652d6c617267652e706e67)](https://flattr.com/thing/286433/jQuery-File-Upload-Plugin)

PayPal: [![PayPal](https://camo.githubusercontent.com/eab8ae15335e9fe9b554361892376148f9e94400de834a5817ec7fd36ebbc055/68747470733a2f2f7777772e70617970616c6f626a656374732e636f6d2f5745425343522d3634302d32303131303432392d312f656e5f55532f692f62746e2f62746e5f646f6e61746543435f4c472e676966)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=PYWYSYP77KL54)

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 95.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/1ddfa322db7376aeb74409dfb0d7a1349818e2567b8f3e3010d60d5a187d4ea9?d=identicon)[Tadcka](/maintainers/Tadcka)

---

Top Contributors

[![blueimp](https://avatars.githubusercontent.com/u/244586?v=4)](https://github.com/blueimp "blueimp (766 commits)")[![dougdomeny](https://avatars.githubusercontent.com/u/887297?v=4)](https://github.com/dougdomeny "dougdomeny (3 commits)")[![tadcka](https://avatars.githubusercontent.com/u/2020827?v=4)](https://github.com/tadcka "tadcka (3 commits)")[![tkleinhakisa](https://avatars.githubusercontent.com/u/1912952?v=4)](https://github.com/tkleinhakisa "tkleinhakisa (2 commits)")[![hellyeah123](https://avatars.githubusercontent.com/u/23212188?v=4)](https://github.com/hellyeah123 "hellyeah123 (2 commits)")[![karellm](https://avatars.githubusercontent.com/u/119841?v=4)](https://github.com/karellm "karellm (2 commits)")[![lmartelli](https://avatars.githubusercontent.com/u/4068533?v=4)](https://github.com/lmartelli "lmartelli (2 commits)")[![martco](https://avatars.githubusercontent.com/u/420959?v=4)](https://github.com/martco "martco (2 commits)")[![mattclegg](https://avatars.githubusercontent.com/u/303487?v=4)](https://github.com/mattclegg "mattclegg (2 commits)")[![francoisjacques](https://avatars.githubusercontent.com/u/1069768?v=4)](https://github.com/francoisjacques "francoisjacques (1 commits)")[![TechNickAI](https://avatars.githubusercontent.com/u/142708?v=4)](https://github.com/TechNickAI "TechNickAI (1 commits)")[![JosephKu](https://avatars.githubusercontent.com/u/105106?v=4)](https://github.com/JosephKu "JosephKu (1 commits)")[![jtuulos](https://avatars.githubusercontent.com/u/22647?v=4)](https://github.com/jtuulos "jtuulos (1 commits)")[![teynon](https://avatars.githubusercontent.com/u/1666274?v=4)](https://github.com/teynon "teynon (1 commits)")[![lmarburger](https://avatars.githubusercontent.com/u/23582?v=4)](https://github.com/lmarburger "lmarburger (1 commits)")[![thanpolas](https://avatars.githubusercontent.com/u/458813?v=4)](https://github.com/thanpolas "thanpolas (1 commits)")[![timmywil](https://avatars.githubusercontent.com/u/192451?v=4)](https://github.com/timmywil "timmywil (1 commits)")[![ajcrites](https://avatars.githubusercontent.com/u/1308273?v=4)](https://github.com/ajcrites "ajcrites (1 commits)")[![Mica4DEV](https://avatars.githubusercontent.com/u/1908032?v=4)](https://github.com/Mica4DEV "Mica4DEV (1 commits)")[![ottens](https://avatars.githubusercontent.com/u/4661657?v=4)](https://github.com/ottens "ottens (1 commits)")

### Embed Badge

![Health badge](/badges/silvestra-jquery-file-upload/health.svg)

```
[![Health](https://phpackages.com/badges/silvestra-jquery-file-upload/health.svg)](https://phpackages.com/packages/silvestra-jquery-file-upload)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M124](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
