jQuery-File-Upload README

The project's README from github.com/blueimp/jQuery-File-Upload. As one markdown file: README.md.

jQuery File Upload

Contents

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

Features

Security

⚠️ Please read the VULNERABILITIES document for a list of fixed vulnerabilities

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

Setup

jQuery File Upload can be installed via NPM:

npm install blueimp-file-upload

This allows you to include jquery.fileupload.js and its extensions via node_modules, e.g:

<script src="node_modules/blueimp-file-upload/js/jquery.fileupload.js"></script>

The widget can then be initialized on a file upload form the following way:

$('#fileupload').fileupload();

For further information, please refer to the following guides:

Requirements

Mandatory requirements

Optional requirements

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.

Browsers

Desktop browsers

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

Mobile browsers

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

Extended browser support information

For a detailed overview of the features supported by each browser version and known operating system / browser bugs, please have a look at the Extended browser support information.

Testing

The project comes with three sets of tests:

  1. Code linting using ESLint.
  2. Unit tests using Mocha.
  3. End-to-end tests using blueimp/wdio.

To run the tests, follow these steps:

  1. Start Docker.
  2. Install development dependencies:
    npm install
    
  3. Run the tests:
    npm test
    

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.

jQuery-File-Upload (blueimp/jQuery-File-Upload)

resumable
Searching Database…

30.7K ·GitHub
archived
What is this?jQuery File Upload is a jQuery widget that adds multiple-file selection, drag & drop, upload progress bars, image/audio/video previews, and resumable/chunked uploads to any HTML file upload form, and it works with virtually any server-side backend.
Is this a standalone app or a plugin I add to my page?It is a client-side jQuery plugin/widget: you attach it to an existing HTML file upload form on your page rather than installing a separate application.
How do I add it to my project?Install it via NPM, which lets you pull in jquery.fileupload.js and its extensions from node_modules; then you initialize the widget on a standard HTML file upload form.
What do I need besides this plugin itself?You need jQuery v1.7+ and the bundled jQuery UI widget factory v1.9+ (plus the included Iframe Transport for browsers without XHR). Optional extras like a JS Templates engine and the Load Image library enable previews and client-side resizing.
Is this project still actively supported?README says the project is maintained but has no official support channel beyond Stack Overflow, and the GitHub repo itself is now marked archived.
Which browsers does it actually support?It targets modern desktop browsers (Chrome, Safari 4+, Firefox 3+, Opera 11+, IE6+) and mobile browsers (iOS/Android Chrome 6.0+/4.0+, stock Android browser 2.3+), falling back to iframes for legacy browsers without XHR support.
Does it address security concerns around file uploads?Yes, the README links to dedicated VULNERABILITIES and SECURITY documents listing fixed issues and explaining how to configure your web server safely for uploads.
Can files be uploaded to a different domain than the page itself?Yes, cross-site uploads are supported via cross-site XHR requests or iframe redirects back to the origin server, with an included XDomainRequest transport for older IE.
Which server-side languages can handle the uploaded files?Any platform that accepts standard HTML form file uploads works, including PHP, Python, Ruby on Rails, Java, Node.js and Go.
Can it resize images before uploading?Yes, in browsers with the required JS APIs it can resize images client-side and show previews of images, audio, and video before they're sent.
Creator
blueimp
Size
4.5 MB
Stars
30.7K
Updated
CommitSep 25
Age
15y
Commits · 90 Days