Plupload released

PluploadUsing Plupload you can upload multiple files using Google Gears, Silverlight, Flash, BrowserPlus or HTML5. Flexible configuration allows you to choose all or only some of these upload “runtimes” with fallback in the order you specify. The license is GPL for you to enjoy.

There are a few really interesting features available, such as:

  • Drag  & drop.
  • Client side image resizing before upload.
  • Select file type filtering.
  • Chunking to allow uploading huge files without any problems.

Want to try it out?

Check out the website.

Note that some features only work with some runtimes and browsers, check the feature list on the Plupload website for more information. Also note that this is a first release version and may contain some bugs.

And if you are interested in the source, you can fork the project on GitHub.


35 thoughts on “Plupload released”

  1. This is incredible! I’ve been sitting trying to code a very basic flash uploader for the last few days and again Moxiecode deliver a winner.

  2. @Laura: We will use this in the MCImageManager/MCFileManager products for the upcoming major release so yes you will be able to use it together with TinyMCE.

    @Ryan: Thanks, feel free to fork and help out with Plupload. We need ideas and developers. 😉

  3. Thanks, nice to hear that you like it.

    We found a few bugs and issues especially with the drag/drop support. Will report them as soon as we can. But the rest of the BrowserPlus implementation was a smooth ride. :)

  4. Plupload looks excellent. Thank you, MoxieCode, for continuing to pump out great open source code.

    Are there plans to release a commercially licensed version? The GPL seems like the wrong choice for a library that could have such wide appeal if licensed more “liberally.”


  5. Thanks Benjamin, Plupload is still fresh out of the box, but yes, plans are to offer some sort of commerciall license for it, we just need to work out some details first.

  6. Is this correct, that when i say it should use engines HTML 5 and Flash, and the browser doesn’t support html5, it automatically takes flash?


  7. Yes, it will follow the list so if html5 support doesn’t exists it will try flash if that doesn’t exist it will move on to the next one etc. So Chrome, Safari and Firefox can use HTML 5 then a fallback on IE could be Flash or Silverlight.

  8. cool stuff! one feature request: it would be nice if plupload could create a thumbnail view of the images in the upload queue

  9. Thanks, that would be a neat feature in fact it would be nice to be able to produce multiple sizes of the images.

    But we need to restructure the current logic a bit before that can be implemented. Please file an issue on GitHub about this so that you can track the progress on that feature and that we don’t forget to implement it soon. :)

  10. This looks GREAT!

    Unfortunately, I can’t use it because its GPL-ed and would poison my entire web app. Given that I don’t really want to make the entire source of my project available under the GPL, I have to wait.

    Please consider the MIT license or some other less-restrictive license format !

  11. Why use a viral license like GPL?

    Why not LGPL?

    Or, even better, MIT.

    Being GPL, many commercial projects will NOT use it (because they would have to open source their code).

  12. We have plans for a separate commercial license of this product. That would help us fund the continuing development of this project. But we haven’t yet decided on the details.

    The GPL license enables you to use it with many GPL based systems out there.

  13. Great stuff!! Would be great to be able to detect image dimensions as well as just file size. And Ill add a second vode on Franz’s comment on thumbnail preview!

    Any idea whats up with Gears?? Is Google going to maintain this? (Not compatible with FF 3.6)

  14. Grabbing image dimensions is pretty easy to add however it’s currently not possible in WebKit since it doesn’t have direct file access.

    Gears is no longer developed by Google but they have said that they will maintain the code. I think it’s way to soon for them to drop gears. HTML 5 is not there yet.

  15. Really nice work, bummer I can’t use it in my current project due to the the GPL license (I bet an alternative will be developed).

  16. I think I understand the decision you all made to go with GPL v2, but licensing needs to be looked at again.

  17. Hi,

    it would be great if I could simulate the “click” event for the flash object. So my current button with it’s css styles and events (“hover”) will not be overridden by the flash_container div. If it is possible?

    This works:


    So can wie have an interface like:


  18. It’s not possible to simulate a click. Adobe will only allow you to open a file selection dialog if it’s done in a click event.

    This is a silly security feature they added, it would have been much better if they asked the user for permission before opening the file selector dialog.

  19. Figured out the problem with load() and the multipart data, thanks for turning me on to that Spocke. It was a problem with the class I was using…Despite the raw post output looked IDENTICAL.

    @Gelle – I can also attest to it being impossible to simulate the click event, I’ve tried every which way…You can’t even send the click event from one swf to another via local connection…You can’t clone another event and dispatch that later either. It’s pretty tight. The security issue even will get you in other ways if you aren’t careful.

    The solution is a transparent overlay of the swf accepting a click anywhere on the stage. That swf is then carefully placed on the page wherever you want. This however becomes an issue if you want multiple areas to click. Plupload uses this clever trick as does swfupload. Totally agree with Spocke and the community at large on this one…It’s a bad decision from Adobe.

  20. Demo on site not working (look the file sizes in different runtime uploaders after upload). On my server not working the same way.
    Some error in php examle :(

  21. This is a feature. Images get resized so the file size changes on upload. And it’s different depending on runtime since they use different encoding algorithms.

Comments are closed.