一、問題概述:
最近開發上傳視頻檔案的功能。基本流程已經跑通了,可是上傳30M以上的檔案時就會報錯。
二、資料海洋瞎撲騰
從網上查了一些資料,一般都是下面這種說法:
看著步驟倒是也不算繁瑣,可是本人照著步驟做了卻沒找到所說的<requestLimits>節點。無奈了。如果有高人明白咋回事的話麻煩指點下。。。
三、暮然回首,答案就在燈火闌珊處
其實上面分析的錯誤原因是對的,就是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" />
<attribute name="sizeLimit" type="uint" required="true" />
</collection>
</element>
問題在於,這個檔案是唯讀,即使用管理員權限也不能修改。要先修改檔案的許可權,然後去掉唯讀屬性才可以。
1.右鍵檔案->屬性->安全,選中目標使用者,點擊進階,修改檔案所有者;
2.確定後點擊編輯,就可以修改目前使用者的許可權了,添加“寫入”許可權。至此,使用權限設定OK了。
3.將檔案的唯讀屬性去掉。
4.以管理員身份開啟VS,然後在VS中編輯目標XML檔案,修改所需位置即可。
5.上傳個100M的視頻,OK了。
至此,大功告成。
參考資料:http://help.powereasy.net/help/SiteFactory/2779.html