HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
blueimp
jQuery-File-Upload
PHP2011–2018
blueimp / jQuery-File-Upload · Archived

jQuery-File-Upload

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

13Distinct people
20Mentions
0Explicit recommenders
30.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

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

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 8:59:20 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year20 dated mentions

Observed mentions: 2011-01-22 21:18:32 UTC to 2018-10-27 07:13:47 UTC.

02468102011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20112012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2018

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC202
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC505
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC101
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC101
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC909

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
jQuery File Upload Contents Description Demo Features Security Setup Requirements Mandatory requirements Optional requirements Cross-domain requirements Browsers Desktop browsers Mobile browsers Extended browser support information Testing Support License 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 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. 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: Main documentation page List of all available Options The plugin API How to setup the plugin on your website How to use only the basic plugin. Requirements Mandatory requirements jQuery v1.7+ jQuery UI widget factory v1.9+ (included): Required for the basic File Upload plugin, but very lightweight without any other dependencies from the jQuery UI suite. jQuery Iframe Transport plugin (included): Required for browsers without XHR file upload support. Optional requirements JavaScript Templates engine v3+: Used to render the selected and uploaded files. JavaScript Load Image library v2+: Required for the image previews and resizing functionality. JavaScript Canvas to Blob polyfill v3+:Required for the resizing functionality. blueimp Gallery v2+: Used to display the uploaded images in a lightbox. Bootstrap v3+: Used for the demo design. Glyphicons Icon set used by Bootstrap. 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: 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+ Google Chrome on iOS 6.0+ Google Chrome on Android 4.0+ Default Browser on Android 2.3+ Opera Mobile 12.0+ 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: Code linting using ESLint. Unit tests using Mocha. End-to-end tests using blueimp/wdio. To run the tests, follow these steps: Start Docker. Install development dependencies: npm install 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 m
Read the full README on GitHub

What Hacker News says

1 sources
Depth. Every programmer I admire has worked on their chosen field for years. You can keep flitting between languages and frameworks, but mastery ultimately comes from hankering down on one thing and advancing our collective knowledge a bit further. You can achieve mastery in any field - it can be a business domain - as mundane as a Time Tracking or a Todo list app, or it can be a technical domain - like compilers or databases or browsers. You however can't achieve mastery by consuming what others produce. Becoming an expert in CSS and its quirks is a good vocational investment, but you're no closer to a fundamental understanding of the field by just consuming an API. You should spend years working on a problem domain that interests you. Look at prettydiff (https://github.com/prettydiff/prettydiff). It is a diff tool, a parser, a pretty pr
Read the rest
inter, a minifier, all rolled into one. It is the most comprehensive publicly available tool in terms of language and dialect support in the world right now. Its code is not the most modular and new contributors might have trouble getting in, but its author has been at this problem for years, and if you called a conference for pretty-printing, he would be one among the few thousand people in the world to meaningfully participate. Consider blueimp's jQuery File Upload plugin (https://github.com/blueimp/jQuery-File-Upload). While this isn't as foundational a work as prettydiff, the project spans seven years and a thousand commits. It solves a mundane problem, but the sheer effort that has went into it makes it a formidable solution. Consider Martin Odersky, watch Compilers are Databases (https://www.youtube.com/watch?v=WxyyJyB_Ssc). He has been writing compilers for like forever. He's worked on the field for decades, and has written compilers for everything from Fortran to Java to Scala. You don't have to be a genius to be a master. You just need to go as deep into a field as you can. Here are a few interesting links you might want to read: The Joys of Having a Forever Project: http://web.archive.org/web/20130125011224/http://www.dev.gd/... Rich Hickey on becoming a better developer: https://gist.github.com/prakhar1989/1b0a2c9849b2e1e912fb You and Your Research by Richard Hamming: http://www.cs.virginia.edu/~robins/YouAndYourResearch.html
In Ask HN: What habits make a programmer great?

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.