Please read my blog's comment policy here.
Over the last few years, we’ve had a few questions about WinINET’s limits for file upload and download. I’ve summarized those limits in the following table:
Upload (total size)
Download (per file)
Internet Explorer 6
Internet Explorer 7
Internet Explorer 8
Internet Explorer 9, 10
-Eric
So, have you guys set up a machine to test uploading a 17 TB file? I've heard some neat stories about testing the limits of MS software (number of processors, max memory, etc), but this might be the most interesting :)
Nick: Uploading a 17TB file won't work. For downloading giant files, you can use Meddler (www.fiddler2.com/meddler), a script for which can dynamically generate and return a "file" of any size you like.
The funny thing is that increasing max file size from 2GB to 4GB was probably trivial.
@Yuhong: Yes, the IE9 change was actually only a one-liner. The code to raise the download limit in IE7, in comparison, was a much larger change because there were many more bottlenecks that needed adjustment.
How can I get the file's size BEFORE uploading? I'm trying to keep the file size under a maximum size, but IE 9 doesn't provide this information.
(duplicate of my last post since I wasn't signed in)
@Silkster: No such mechanism exists today in script in IE9; you can use Flash or Silverlight for this. Alternatively, your server could immediately abort the upload if the Content-Length on the request exceeds your desired maximum.
Eric,
Is there a way to skip Content-Lenght check, streamline the upload? Can method="put" in a HTML form make it? Does IE8 or IE9 support method="put'? Thanks.
@Helen: HTTP permits "streaming" of uploads using Transfer-Encoding: chunked. IE doesn't use this, and many servers won't support it. HTML offers no way to do a PUT upload using a Web Form, although XMLHTTPRequest can make PUT requests.
Hi Eric,
Your post is very informative. We are using different versions of IE browsers and tested the upload file size limit from 2gb to 4gb. IE9 is not responding after 2.5gb file size upload action. Is there any debug available for this ?
So, what is prohibiting IE 9 and 10 from uploading greater than 4GB files? Is this limited to the 32bit version? Why can Google Chrome allow larger than 4GB uploads in Windows 7 than IE 9 or 10 can?
EricLaw: IE's upload limit derives from the fact that a 32bit integer is used for progress tracking. This is the same across both 32bit and 64bit versions. If Chrome can upload larger files, that suggests that it is not using a 32bit integer.
One important thing to keep in mind is that a HTML5 site is very unlikely to attempt to do a file upload using an HTML form; instead, an XmlHTTPRequest object will send chunks of the file. This allows a file of arbitrary size to be uploaded and provides more options for retry/error-recovery.