The Infusion Uploader provides an easy way for users to upload many files at once, providing useful feedback about the status and progress of each file along the way.
Uploader implements several different ways of to upload multiple files, including the new HTML 5 supported added in Infusion 1.3. With its built-in support for progressive enhancement, users will automatically receive a version of the Uploader best suited to the capabilities of their browsers. There are three different flavours of Uploader:
- HTML 5: the best and most widely-supported version of Uploader, suitable for modern browsers
The HTML 5 version of the Uploader will be delivered to modern, standards-compliant browsers, including:
- Firefox 3.6 and higher
- Safari 4 and higher
- Google Chrome
Internet Explorer users will receive the Flash version of the Uploader. Due to limitations in Flash, this version of the Uploader provides a less polished user experience and limited support for accessibility. As a result, we encourage you and your users to upgrade to an HTML 5-compatible browser such as Firefox 3.6+, Safari 4+, or Chrome.
NOTE: If you will be testing the Flash version of the Uploader on a local file system, please see the #Important Notes for Developers below.
For more details on the Uploader design and design Process, see Uploader Design Overview.
The Infusion Uploader, like many Fluid components, is really one interface to a collection of components that work together to provide a unified user experience.
The Uploader provides a facade object, called a
strategy, which represents the entire subsystem for a particular implementation of Uploader. There are currently two different strategies available to choose from:
fluid.uploader.html5Strategy, which provides the modern HTML 5 implementation of Uploader
fluid.uploader.swfUploadStrategy, which implements the legacy implementation of Uploader with Flash and SWFUpload
To support progressive enhancement, there is a third type of strategy,
fluid.uploader.progressiveStrategy, which uses the new Infusion IoC - Inversion of Control System to deliver the best possible version of Uploader based on the capabilities of the user's browser.
The default strategy for Uploader is
Upgrading from Infusion 1.2: The Uploader was substantially refactored for the Infusion 1.3 in order to support the new HTML 5 version. However, most users should be unaffected. All events, selectors, and classes remain compatible with previous versions. Since the Uploader's underlying structure has changed significantly, and support for Infusion's IoC System was introduced, several other configuration options have changed.
In order to ease the transition, we've provided a compatibility file that will automatically transform your options from the old format to the new when you invoke
fluid.uploader(). This can be enabled simply by including the
UploaderCompatibility-Infusion1.2.js file your page. If you're not using a custom build of Infusion, you will also need to include the framework's
Upgrading from Infusion 0.8: The classnames used for selectors and styles in the Uploader were extensively refactored for Infusion 1.0. Please refer to the Tutorial - Uploader 1.0 Migration documentation before upgrading from Infusion 0.8.
Upgrading from Infusion 0.5: During Infusion 0.6, the Uploader API had a complete overhaul. Please refer to this document and the latest example code before upgrading from Infusion 0.5 or earlier.