Why are uploaded files to ASP.NET web Application greater than 12MB being shown as 0MB?
asp.net, c#, file-upload, iis-7, windows-server-2008-r2
Solution
Try increasing `requestLengthDiskThreshold` to match `maxRequestLength`
<configuration>
<system.web>
<!-- maxRequestLength and requestLengthDiskThreshold is in Kilobytes-->
<httpRuntime maxRequestLength="204800" requestLengthDiskThreshold="204800" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<!-- maxAllowedContentLength is in Bytes not Kilobytes -->
<requestLimits maxAllowedContentLength="204800000" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
Also, have you tried using a more comprehensive ASP.NET upload control such as the Telerik RadUpload module? It's available as a free trial to see if it will solve your issues.
Problem
Our ASP.NET C# web application is used in the following environment - .NET Framework 4 - IIS 7 - Windows 2008 - Visual Studio 2010 .NET IDE - C# - HTTPS ( SSL ) Our ASP.NET C# web application uploads various files like jpgs, mp4, mp3, pngs, docx, txt, etc to a folder called ClientBin. However, if we deploy the application to an IIS7 server, we have to give the web user of our application permission to upload file. We give the \IIS_IUSRS group permission to execute, read, write and execute on our ClientBin upload folder. A web user can upload files that have size less than approximately 12MB. However, when a web user uploads any more than approximately 12MB, the file that gets uploaded will be 0 bytes on the server's ClientBin upload folder. In our Web.config, we have the following configurations for httpRuntime tag: ``` <system.web> ... ..... ........ .............. <httpRuntime maxRequestLength="1048576" executionTimeout="50000" useFullyQualifiedRedirectUrl="false" requestLengthDiskThreshold="15360" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" /> </system.web> ``` In our Web.config, we have the following configurations for `requestLimits` tag: ``` <system.webServer> .............. ......................... <security> <requestFiltering> <requestLimits maxAllowedContentLength="2000000000" /> <fileExtensions> <add fileExtension=".aspx" allowed="true" /> </fileExtensions> </requestFiltering> </security> </system.webServer> ``` I also took the undesired approach of modifying the machine.config file by creating the following settings: ``` <system.web> <processModel responseDeadlockInterval="0:09:00" responseRestartDeadlockInterval="0:09:00" /> ..................... .......................................... ............................................................. </system.web> ``` I also took the following steps: I checked Event Viewer and IIS Logs but it failed to show strange. Files that have a size of anything less than approximately 12 MB gets uploaded properly. It is important to note that the files do get uploaded, but it all ends up 0Kb. The file name and type that gets uploaded is the same as the one on my desktop but the size is 0Kb. The one on my desktop is approximately 75MB. ASP.NET and IIS don't throw any error pages. Why are uploaded files to ASP.NET web Application greater than 12MB being shown as 0MB ?