最近做項目的時候 用戶提出要上傳大圖片 一張圖片有可能十幾兆 本來用的第三方的上傳控制項 有限製圖片上傳大小的設置 以前設置的是2M 按照用戶的要求 以為直接將限製圖片上傳大小的設置改下就可以了 但是當上傳大圖片的時 總是異常: 錯誤消息:超過了最大請求長度 解決方案: 錯誤原因:asp.net預設最 ...
最近做項目的時候 用戶提出要上傳大圖片 一張圖片有可能十幾兆 本來用的第三方的上傳控制項 有限製圖片上傳大小的設置
以前設置的是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版本。對於生產環境,該屬性不是必需的,可以禁用。