Uploading large files from a web browser

In a project I’m working on the end-users need to be able to upload rather large files (up to 8GB) from a web browser. Preferably the users should be able to use their favorite browser (even if it for some reason isn’t Chrome).
I have to admit that I was a bit surprised by the problems we found when testing different browsers, since HTML 5 has been around a while I thought this wouldn’t be that much of an issue anymore.

File Upload using plain HTML
First we tried plain HTML with some results that surpised me:

  • Google Chrome 19.0.1084.56
    • Supports HTML 5 upload and shows progress in status bar (easy to miss) and the application becomes rather unresponsive
    • When testing with 8GB files we ran into problems, not quite sure if chrome is to blame or our back-end
  • Mozilla Firefox 12.0
    • Supports HTML 5 upload but no progress is displayed
    • Poor user feedback only says “Sending request to…”
    • Cannot upload file larger than 2GB in a single request (Bug 215450 – uploading files that are larger the 2GB fails).
  • Microsoft Internet Explorer 8
    • Doesn’t support HTML5
    • Cannot upload 2GB files (or larger)

Plupload to the rescue
To support files larger than 2 GB we had the options of either writing a solution of our own (e.g. a Java Applet) or finding a 3rd party solution. After doing some searching Plupload came up as a viable soltion.
It is a JavaScript based solution for uploading a set of files. To get around the 2GB limit in the browsers it offers the option to split large files into several chunks that are sent in sequence, information about the part is passed in the headers. It can be configured to use different runtimes, after some testing we found that HTML5 works for Firefox and Chrome. Silverlight works for IE8. The flash solution doesn’t handle files larger than 2 GB.

The licensing costs for Plupload are very reasonable starting at 10 euro for commercial use. Some integration work is of course required but for us it was definitly easier than writing our own solution.

This Post Has One Comment

  1. Volker

    Is there an update of the filke limits available ? What about IE 10 / 11 , Firefox 34 amd Google Chrome V40.

Leave a Reply