Skip to content

File Upload widget with multiple file selection, drag&drop support, progress bars and preview images 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.

Notifications You must be signed in to change notification settings

swhitley/jQuery-File-Upload

 
 

Repository files navigation

jQuery File Upload Plugin

Demo

Demo File Upload

Setup instructions

How to setup the plugin on your website

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 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.
  • Preview images:
    A preview of image files can be displayed before uploading with browsers supporting the required HTML5 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:
    Shows a standard HTML file upload form if JavaScript is disabled.
  • Cross-site file uploads:
    Supports uploading files to a different domain with Cross-site XMLHttpRequests.
  • 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 Google App Engine (Python, Java), Ruby on Rails, PHP and any other platform that supports HTTP file uploads.

Requirements

Browser Support (tested versions)

  • Google Chrome - 7.0, 8.0, 9.0, 10.0, 11.0
  • Apple Safari - 4.0, 5.0 ¹
  • Mozilla Firefox - 3.5, 3.6, 4.0
  • Opera - 10.6, 11.0, 11.1 ²
  • Microsoft Internet Explorer 6.0, 7.0, 8.0, 9.0 ³

¹ Drag & Drop is not supported on the Windows version of Safari.
² Opera has no suppport for Drag & Drop or upload progress, but support for multiple file selection since version 11.1.
³ MSIE has no support for Drag & Drop, multiple file selection or upload progress.

License

Released under the MIT license.

Source Code & Download

Documentation & Support

About

File Upload widget with multiple file selection, drag&drop support, progress bars and preview images 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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 69.8%
  • C# 10.4%
  • PHP 8.9%
  • Go 7.5%
  • Python 2.4%
  • CSS 0.9%
  • Classic ASP 0.1%