開源的Brettle.Web.NeatUpload.在公司IIS6.0使用正常,可是在Windows 2008 server IIS7上使用不正常。
在網上看到一個解決辦法可是沒有效果
IIS 7 默認文件上傳大小時30M 要突破這個限制:
就是IIS中容許上傳的最大文件默認是20多M,因此當上傳較大的文件時纔會報這個錯誤。後來用另一種途徑修改了這種設置。
目標是要修改文件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" /> html
<attribute name="sizeLimit" type="uint" required="true" /> </collection> </element>
問題在於,這個文件是隻讀的,即便用管理員權限也不能修改。要先修改文件的權限,而後去掉只讀屬性才能夠。
1.右鍵文件->屬性->安全,選中目標用戶,點擊高級,修改文件全部者;
2.肯定後點擊編輯,就能夠修改當前用戶的權限了,添加「寫入」權限。至此,權限設置OK了。
3.將文件的只讀屬性去掉。
4.以管理員身份打開VS,而後在VS中編輯目標XML文件,修改所需位置便可。
5.上傳個100M的視頻,OK了。
打開系統所在分區的\Windows\System32\inetsrv\config\schema文件夾再用記事本打開 IIS_schema.xml 查找 然 後修改30000000這個數值。但我試驗的結果不成功,以Administrator超級用戶登錄來修改,保存時提示沒有權限,該文件爲只讀的,始終無 法修改文件屬性,因此我我的認爲這個辦法不適合通常用戶,安全
因此繼續尋找新的方法。ui
win7的IIS配置中打開200k上傳限制要分兩步:spa
1、從IIS配置中修改「最大請求實體主體限制」的值;視頻
2、從「請求篩選」配置中修改「容許的最大內容長度」的值。這兩個步驟應該是不分前後的。server
下面是我每個操做步驟的截圖,有基礎的一看就懂,看不懂的再結合文字說明吧。xml
若是圖片看不了,請查看原文:http://www.360doc.com/content/10/1109/22/1111809_68055132.shtmlhtm