{"id":7816,"date":"2015-10-29T16:10:54","date_gmt":"2015-10-29T16:10:54","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2015\/10\/29\/blueimp-jquery-file-upload\/"},"modified":"2015-10-29T16:10:54","modified_gmt":"2015-10-29T16:10:54","slug":"blueimp-jquery-file-upload","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2015\/10\/29\/blueimp-jquery-file-upload\/","title":{"rendered":"blueimp\/jQuery-File-Upload"},"content":{"rendered":"<p>Demo File Upload<\/p>\n<h2>Description<\/h2>\n<p>File Upload widget with multiple file selection, drag&amp;drop support, progress bars, validation and preview images, audio and video for jQuery.<br \/>\nSupports 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.<\/p>\n<h2>Setup<\/h2>\n<h2>Features<\/h2>\n<ul>\n<li><strong>Multiple file upload:<\/strong><br \/>\nAllows to select multiple files at once and upload them simultaneously.<\/li>\n<li><strong>Drag &amp; Drop support:<\/strong><br \/>\nAllows to upload files by dragging them from your desktop or filemanager and dropping them on your browser window.<\/li>\n<li><strong>Upload progress bar:<\/strong><br \/>\nShows a progress bar indicating the upload progress for individual files and for all uploads combined.<\/li>\n<li><strong>Cancelable uploads:<\/strong><br \/>\nIndividual file uploads can be canceled to stop the upload progress.<\/li>\n<li><strong>Resumable uploads:<\/strong><br \/>\nAborted uploads can be resumed with browsers supporting the Blob API.<\/li>\n<li><strong>Chunked uploads:<\/strong><br \/>\nLarge files can be uploaded in smaller chunks with browsers supporting the Blob API.<\/li>\n<li><strong>Client-side image resizing:<\/strong><br \/>\nImages can be automatically resized on client-side with browsers supporting the required JS APIs.<\/li>\n<li><strong>Preview images, audio and video:<\/strong><br \/>\nA preview of image, audio and video files can be displayed before uploading with browsers supporting the required APIs.<\/li>\n<li><strong>No browser plugins (e.g. Adobe Flash) required:<\/strong><br \/>\nThe implementation is based on open standards like HTML5 and JavaScript and requires no additional browser plugins.<\/li>\n<li><strong>Graceful fallback for legacy browsers:<\/strong><br \/>\nUploads files via XMLHttpRequests if supported and uses iframes as fallback for legacy browsers.<\/li>\n<li><strong>HTML file upload form fallback:<\/strong><br \/>\nAllows progressive enhancement by using a standard HTML file upload form as widget element.<\/li>\n<li><strong>Cross-site file uploads:<\/strong><br \/>\nSupports uploading files to a different domain with cross-site XMLHttpRequests or iframe redirects.<\/li>\n<li><strong>Multiple plugin instances:<\/strong><br \/>\nAllows to use multiple plugin instances on the same webpage.<\/li>\n<li><strong>Customizable and extensible:<\/strong><br \/>\nProvides an API to set individual options and define callBack methods for various upload events.<\/li>\n<li><strong>Multipart and file contents stream uploads:<\/strong><br \/>\nFiles can be uploaded as standard \u201cmultipart\/form-data\u201d or file contents stream (HTTP PUT file upload).<\/li>\n<li><strong>Compatible with any server-side application platform:<\/strong><br \/>\nWorks with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.<\/li>\n<\/ul>\n<h2>Requirements<\/h2>\n<h3>Mandatory requirements<\/h3>\n<p>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.<\/p>\n<p>The jQuery Iframe Transport is required for browsers without XHR file upload support.<\/p>\n<h3>Optional requirements<\/h3>\n<p>The JavaScript Templates engine is used to render the selected and uploaded files for the Basic Plus UI and jQuery UI versions.<\/p>\n<p>The JavaScript Load Image library and JavaScript Canvas to Blob polyfill are required for the image previews and resizing functionality.<\/p>\n<p>The blueimp Gallery is used to display the uploaded images in a lightbox.<\/p>\n<p>The user interface of all versions except the jQuery UI version is built with Bootstrap and icons from Glyphicons.<\/p>\n<h3>Cross-domain requirements<\/h3>\n<p>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.<\/p>\n<p>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).<br \/>\nThe XDomainRequest object allows GET and POST requests only and doesn\u2019t support file uploads. It is used on the Demo to delete uploaded files from the cross-domain demo file upload service.<\/p>\n<h2>Browsers<\/h2>\n<h3>Desktop browsers<\/h3>\n<p>The File Upload plugin is regularly tested with the latest browser versions and supports the following minimal versions:<\/p>\n<ul>\n<li>Google Chrome<\/li>\n<li>Apple Safari 4.0+<\/li>\n<li>Mozilla Firefox 3.0+<\/li>\n<li>Opera 11.0+<\/li>\n<li>Microsoft Internet Explorer 6.0+<\/li>\n<\/ul>\n<h3>Mobile browsers<\/h3>\n<p>The File Upload plugin has been tested with and supports the following mobile browsers:<\/p>\n<ul>\n<li>Apple Safari on iOS 6.0+<\/li>\n<li>Google Chrome on iOS 6.0+<\/li>\n<li>Google Chrome on Android 4.0+<\/li>\n<li>Default Browser on Android 2.3+<\/li>\n<li>Opera Mobile 12.0+<\/li>\n<\/ul>\n<h3>Supported features<\/h3>\n<p>For a detailed overview of the features supported by each browser version, please have a look at the Extended browser support information.<\/p>\n<h2>Contributing<\/h2>\n<p><strong>Bug fixes<\/strong> and <strong>new features<\/strong> can be proposed using pull requests. Please read the contribution guidelines before submitting a pull request.<\/p>\n<h2>Support<\/h2>\n<p>This project is actively maintained, but there is no official support channel.<br \/>\nIf you have a question that another developer might help you with, please post to Stack Overflow and tag your question with <code>blueimp jquery file upload<\/code>.<\/p>\n<h2>License<\/h2>\n<p>Released under the MIT license.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Demo File Upload 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 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-7816","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/7816","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=7816"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/7816\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=7816"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=7816"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=7816"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}