在IIS7下,即便你在web.config設定了maxRequestLength=”1048576”最大允許上傳的大小,也是沒用的,其實是受C:/Windows/System32/inetsrv/config/applicationHost.config的限制, 預設最大隻能上傳30M的檔案,修改下這個檔案就好了,在該檔案的system.webServer/security/requestFiltering/節內添加
<requestLimits maxAllowedContentLength ="<length>" />
就行了,將<length>修改為你要允許的大小,注意,這裡的單位是bytes,而web.config裡的maxRequestLength的單位是KB
具體方法如下
目標是要修改檔案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> |
問題在於,這個檔案是唯讀,即使用管理員權限也不能修改。要先修改檔案的許可權,然後去掉唯讀屬性才可以。
1.右鍵檔案->屬性->安全,選中目標使用者,點擊進階,修改檔案所有者;
2.確定後點擊編輯,就可以修改目前使用者的許可權了,添加“寫入”許可權。至此,使用權限設定OK了。
3.將檔案的唯讀屬性去掉。
4.以管理員身份開啟VS,然後在VS中編輯目標XML檔案,修改所需位置即可。
修改後重啟IIS.