I am struggling on validating file size "BEFORE" executing the file upload process. I'm currently validating the Request.TotalBytes property then redirecting to an error page if that exceeds a specific amount. However, I have found that if I do that before the Request.BinaryRead method, Internet Explorer gives me an error that is typical of trying to access It's not a "Page cannot be found" error. It's almost as if the web server completely disconnects from the client and only does it when trying to upload large files (Which of course is the whole reason for the validation). When I back click from the error page, session state is maintained and everything is back to normal. If I place the validation code after the Request.BinaryRead method, everything works fine. However, the Request.BinaryRead method seems to task the server quite heavily on large files. While testing the validation on a 10/100MB LAN I watched the web server console during the Request.BinaryRead method. The network adapter was quiet but the processors were going nuts. Without being able to validate file size before executing the Request.BinaryRead method, how can I prevent someone from attempting to upload a 100MB file which would eventually timeout the script but would task the server during that time. I have an account at xdrive.com and attempted to upload a 129MB file and within just a few seconds, the upload status screen told me how large the file was. How do they do that ?? Any help would be greatly appreciated.