.NET應用程序上傳文件大小限制並非都是IIS的原因,也有可能是應用程序自身設置不當造成的,在使用過程中一定要區分開來,這樣才能做到正確的設置。
NET應用程序限制上傳文件大小:超過了最大請求長度

這類錯誤就是由於應用程序自身設置造成的。只需在web.config的<system.web>節加入以下內容即可:
<httpRuntime maxRequestLength="102400" executionTimeout="600" />
說明:maxRequestLength單位KB,executionTimeout單位是秒。
我具體的問題是使用Android中HttpPost類以POST方式上傳超過4M的文件時遇到了不能上傳的錯誤,添加了此配置節后,問題得到解決
IIS7.0限制上傳文件大小:請求篩選模塊被配置為拒絕超過請求內容長度的請求

這類錯誤是由於IIS7.0限制上傳文件大小為30000000字節(約28.6M)造成的。打開C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml,找到如下內容:
<element name="requestLimits"> <attribute name="maxAllowedContentLength" type="uint" defaultValue="30000000" /> <attribute name="maxUrl" type="uint" defaultValue="4096" /> <attribute name="maxQueryString" type="uint" defaultValue="2048" /> <element name="headerLimits"> <collection addElement="add" clearElement="clear" removeElement="remove" > <attribute name="header" type="string" required="true" isUniqueKey="true" validationType="nonEmptyString" /> <attribute name="sizeLimit" type="uint" required="true" /> </collection> </element> </element>
注意:將綠色部分修改成合適大小即可,單位為字節。
其他說明
[1].IIS_schema.xml默認是無法修改的,即使是系統管理員也不行,必需修改下權限,再去掉其只讀屬性才可修改。

上圖為IIS_schema.xml默認權限,直接點擊"編輯"按鈕你會發現權限是不能修改的,還得先做如下操作:
1).點擊"高級"按鈕進入高級安全設置界面;
2).切換到"所有者"選項卡,點"編輯"按鈕,選中Administrators后確定;
現在可以在"安全"選項卡上點擊"編輯"按鈕,給Administrators增加修改和寫入權限了,再去掉IIS_schema.xml只讀屬性,系統管理員就可以修改文件了。
