最近做項目的時候 用戶提出要上傳大圖片 一張圖片有可能十幾兆 本來用的第三方的上傳控件 有限制圖片上傳大小的設置
以前設置的是2M 按照用戶的要求 以為直接將限制圖片上傳大小的設置改下就可以了 但是當上傳大圖片的時
總是異常:
錯誤消息:超過了最大請求長度
解決方案:
錯誤原因:asp.net默認最大上傳文件大小為4M,運行超時時間為90S。
修改web.config中配置
<configuration> <system.web> <httpRuntime useFullyQualifiedRedirectUrl="true" executionTimeout="120" maxRequestLength="2097151"/> </system.web> <configuration>
在我的項目中這個修改 之後再上傳就沒問題了 簡單解釋下:
executionTimeout執行超時時間:單位是秒
maxRequestLength上傳的最大長度:上面我設置的已經是最大的數值了 單位為KB
ps:下面是httpRuntime完整配置 以及相關的解釋
<httpRuntime executionTimeout="600" maxRequestLength="951200" useFullyQualifiedRedirectUrl="true" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true"/>
httpRuntime是配置asp.net http運行設置,以確定如何處理對asp.net應用程序的請求。
executionTimeout:表示允許執行請求的最大時間限制,單位是秒
maxRequestLength:指示asp.net支持的最大文件上載大小。該顯示可用於防止因用戶將大量文件傳遞到該服務器而導致的拒絕服務攻擊。指定的大小是KB為單位。默認值為4096KB.
userFullyQualifiedRedirectUrl:表示指示客戶端重定向是否是完全限定的(采用:“http://server/path”格式,這是某些移動控件所必須的),或者指示是否代之以將相對重定向發送到客戶端。如果為true,則所有不是完全限定的重定向都將自動轉換為完全限定的格式。false 是默認選項。
minFreeThreads:表示指定允許執行新請求的自由線程的最小數目。ASP.NET為要求附加線程來完成其處理請求而指定數目的線程保持自由狀態。默認值為8.
minLocalRequestFreeThreads:表示ASP.NET保持的允許執行新本地請求的自由線程的最小數目。該線程數目是為了本地主機傳入的請求而保留的,以防某些請求在其處理期間發出對本地主機的子請求。這避免了可能因遞歸重新進入web服務器而導致的死鎖。
enableVersionHeader:表示指定的ASP.NET是否應輸出版本的標頭。vs2005使用該屬性來確定當前的使用ASP.NET版本。對於生產環境,該屬性不是必需的,可以禁用。
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持幫客之家!