顯示具有 上傳限制 標籤的文章。 顯示所有文章
顯示具有 上傳限制 標籤的文章。 顯示所有文章

2019年2月10日 星期日

.NET跟IIS的上傳限制設定

更新版本後的IIS以前的寫法沒用了,網路上找到的方法引用來memo當筆記

ASP.net File Upload Size

前言

從IIS7開始,IIS預設限制28MB左右的要求內容長度,而ASP.net預設則是限制4MB大小
如果一個網站的用戶想上傳100MB檔案,勢必IIS和ASP.net兩邊都要設定

實作

ASP.net Web.config裡寫下以下區段
<system.web>
 <httpRuntime  maxRequestLength="102400" executionTimeout="600"/>
</system.web>
maxRequestLength 檔案大小(KB),預設值4096 KB(4MB),所以102400KB為100MB
executionTimeout 上傳時間(秒),600秒為10分鐘
<system.webServer>
 <security>
  <requestFiltering>
   <requestLimits maxAllowedContentLength="104857600" />
  </requestFiltering>
 </security>
</system.webServer>
maxAllowedContentLength 檔案大小(byte),所以104857600(1024*1024*100)為100MB
上述system.webServer也可以透過IIS來設定
允許的內容長度上限預設值為30000000(約28MB),把它修改為104857600

如此一來,網站便可以上傳100MB大小的檔案了

加碼補充

如果當使用者上傳檔案超過限制大小時,想重新導向到自訂的錯誤頁面
在Global.asax.cs裡寫下...
protected void Application_BeginRequest(object sender, EventArgs e)
{
 HttpRuntimeSection section = (HttpRuntimeSection)ConfigurationManager.GetSection("system.web/httpRuntime");
 int maxFileSize = section.MaxRequestLength * 1024;
 if (Request.ContentLength > maxFileSize)
 {
  try
  {
   Response.Redirect("~/MySizeError.aspx");
  }
  catch (Exception ex)
  {
   
  }
 }
}


引用來源:高級打字員的技術雲

2018年6月14日 星期四

IIS7.5 , 8版本檔案上傳限制、時間處理(上傳檔案後出現404)

伺服器更新後用IIS7.5版本發現客戶上傳檔案時會跑出404錯誤,找了一下文章大部分都說加入下面這串就可以解決


但實際加上後發現因為位置或原本的設置很容易出現 500 - Internal server error. 的錯誤,後來終於找到從IIS直接設定的方法 ,步驟如下:

1.先到IIS選取要設定網站後進入設定編輯器

2.設置上傳超時時間限制:
點擊下拉選單,選system.web>httpRuntime
將executionTimeout的值設為00:30:00(30分鐘)

3.設置上傳文件大小限制:
點擊下拉選單,選system.webServer>security>requestFiltering
展開requestlimits,將maxAllowedContentLength的值設為102400000(即100MB,可設定更大,最大印象中是4GB)

修改後就會生效,不需重啟IIS。

如果需要圖文說明可以到下方參考連結看