• At its core Plupload is visually flat and you can customize it however you like.

  •  

Examples

Check these out for various usage cases.

Documentation

Documentation is much better now.

Available under AGPL and OEM licenses.

Upload in HTML5

We are using HTML5 APIs. Always. Plupload is based on multi-runtime pollyfills for XMLHttpRequest L2, File and Image APIs. So when there's no HTML5 available in the browser, we emulate it ourselves.

mOxie (combined code-name for pollyfills) is completely standalone and available separately.

Drag'n'Drop Files from Desktop

Files not only can be picked from browse dialog, but also can be dropped directly from the desktop. In some browsers, mostly in those based on WebKit, it is possible to drag and drop whole folders.

Notice: feature will not work in some legacy browsers.

Access Raw File Data

Since we emulate as much of HTML5 as possible, we are able (among other things) to provide access to raw file data, even in such environments that do not normally support it. One of the biggest benefits of this is that we can display the thumbnails instantly, right as you select the images in the dialog or drag&drop them from the desktop.


Shrink Images on Client-Side

In some cases you would want to upload the image only to turn it into a tiny thumbnail or avatar (like 90x90). Then why waste the bandwidth? Wouldn't it be great if you could do it right there, on client-side, just before the actual upload? That's exactly what we can do. This feature can be applied in a broader scope than just avatars, but that's where it is at its best.

Upload in Chunks

Files that have to be uploaded can be small or huge - about several gigabytes in size. In such cases standard upload may fail, since browsers still cannot handle it properly. We slice the files in chunks and send them out one by one. You can then safely collect them on the server and combine into original file.

As a bonus this way you can overcome a server's constraints on uploaded file sizes, if any.

Translated to 30+ Languages

It started with just several, and now we already have tens. In order to manage them better and avoid common mistakes and typos as much as possible, we moved our internatianalization (i18n) facilities to Transifex. If you think that translation for your language can be better or your language is not in our database at all, you are welcome to contribute. We will include the translation in all consequent releases.

Fork me on GitHub