.NET的file檔案上傳控制項使用方法 修改web.config檔案上傳大檔案

來源:互聯網
上載者:User
修改Webcong檔案:

以下為引用的內容:

<system.web> <httpRuntime maxRequestLength="40690" useFullyQualifiedRedirectUrl="true" executionTimeout="6000" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true" /> </system.web>

其中與上傳有密切關係的是:

maxRequestLength

指示 ASP.NET 支援的最大檔案上傳大小。

該限制可用於防止因使用者將大量檔案傳遞到該伺服器而導致的拒絕服務的攻擊。

指定的大小以 KB 為單位。

預設值為 4096 KB (4 MB)。

executionTimeout

指示在被 ASP.NET 自動關閉前,允許執行請求的最大秒數。

單位為秒,在上傳大的檔案時把這個設的大一些。

如果伺服器記憶體512M,已可上傳大小160M的檔案。(沒試過,csdn上眾文章的一致意見。)

到這裡web.config的設定就已經結束。

可是一旦上傳檔案的大小超過了這個設定的檔案大小範圍就會發生如下錯誤: 該頁無法顯示 您要查看的頁當前不可用。網站可能遇到技術問題,或者您需要調整瀏覽器設定。

雖然解決不了,那也要捕獲這個錯誤啊!怎麼辦呢? 由於這個錯誤是由file控制項引發的前台錯誤,所以在後台想利用try...catch來捕獲是行不通的。

於是想到了利用.NET的錯誤捕獲頁面的機制來處理。可行哦。

以下為引用的內容:
1、先設定web.config

<customErrors mode="On"/>

2、建立一個error.aspx 檔案,專門用來捕獲錯誤的。

3、在上傳檔案的aspx頁面的前台頁面裡添加page指令。ErrorPage="UploadError.aspx"

4、在error.aspx中添加一些代碼來判斷錯誤資訊是否是file引起的前台錯誤。

public class UploadError : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { Exception ex = Server.GetLastError(); if (ex != null) { Response.Redirect("../error.aspx"); } else //前台錯誤ex為空白值 { Response.Redirect("uploadexcel.aspx?err=1"); //重新跳轉到上傳頁面, 加上err參數是為了顯示錯誤資訊 } }

5、顯示錯誤提示。

public class uploadexcel : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { if (Request["err"] == "1") { Page.RegisterStartupScript("budget","<script language = javascript> alert('Upload file has failed ! File size is too large !')</script>"); } } }


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.