ASP.NET上傳大檔案報錯,IIS7.0

技術小牛人發表於2017-11-14

報錯資訊如下:

HTTP錯誤404.13-NotFound

請求篩選模組被配置為拒絕超過請求內容長度的請求。

詳細錯誤資訊

模組 RequestFilteringModule
通知 BeginRequest
處理程式 PageHandlerFactory-Integrated
錯誤程式碼 0x00000000
請求的URL http://cathychen:81/Admin/VideoCenter/uploadvideo.aspx?tid=T20101118000123&site=BJ&team=AP
物理路徑 D:websitesAdminVideoCenteruploadvideo.aspx
登入方法 尚未確定
登入使用者 尚未確定

最可能的原因:

  • Web伺服器上的請求篩選被配置為拒絕該請求,因為內容長度超過配置的值。

可嘗試的操作:

  • 確認applicationhost.config或web.config檔案中的configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength設定。

連結和更多資訊這是一項安全功能。請不要更改此功能,除非您完全清楚更改的影響範圍。您可以配置IIS7.0伺服器以拒絕內容長度大於指定值的請求。如果請求的內容長度大於所配置的長度,便會返回此錯誤。如果需要增加內容長度,請修改configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength設定。

檢視更多資訊

解決方案1:

在Web.Config檔中加入下列設定:



<configuration>

<system.web>

<httpRuntimemax RequestLength=”4096″executionTimeout=”120″/>

</system.web>

</configuration>



設定說明:

1.maxRequestLength這個屬性是限制檔案上傳大小,是以KB為單位,而預設值為4096KB,而最大上限為2097151KB,大約是2GB限制。

2.executionTimeout屬性則是上傳逾時的時間,以秒為單位,預設為90秒,如果您考量到您所設計的Web應用系統上載時間需要超過90秒可延長設定值。

 

 

解決方案2:

開啟你係統盤(我是C盤),找到C:WindowsSystem32inetsrvconfigschema目錄,該目錄下有一個IIS_schema.xml,右擊開啟檔案,Ctrl+F,然後輸入”

<attributename=”maxAllowedContentLength”type=”uint”defaultValue=”30000000″/>“,找到該配置節點,我們看到有一個defaultValue=30000000,不錯,就是它限制了上傳檔案的大小,既然找到了,那就讓我們來把它修改掉吧,暫且把3改為5(50M左右)試試吧!

 

1、停止IIS7
2、找到“C:WindowsSystem32inetsrvconfigschemaIIS_schema.xml”檔案。

這個檔案是隻讀的,即使用管理員許可權也不能修改。要先修改檔案的許可權,然後去掉只讀屬性才可以。

1.右鍵檔案->屬性->安全,選中目標使用者,點選高階,修改檔案所有者;

2.確定後點選編輯,就可以修改當前使用者的許可權了,新增“寫入”許可權。至此,許可權設定OK了。

3.將檔案的只讀屬性去掉。

用記事本開啟該檔案,找到“”,將“30000000”修改為你想要的值(如2000000000)儲存。

將“C:WindowsSystem32inetsrvconfigschemaIIS_schema.xml”檔案加上只讀屬性。

 

 

 

另:虛擬目錄使用共享資料夾的許可權問題:

1、到webconfig檔案中,修改條目

 <identity impersonate=”true” userName=”domianuser” password=”password” />

2、共享目錄伺服器,對目錄的許可權新增該使用者的讀寫修改許可權

本文轉自    yuxye   51CTO部落格,原文連結:http://blog.51cto.com/fishvsfrog/1328338



相關文章