<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    修改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>");
         }
        }
       }
      
    6、搞定收工。(這魚沒有白吃啊)

    經過上述修改,現在的上傳變成了,程序指定文件大小,如果超過,則彈出錯誤提示。
    這樣一來,就好多了,最起碼自己能接受了,跟用戶解釋也不太費勁了。

    在遍歷了csdn中所有關于上傳大文件的帖子以后,寫了這片垃圾。(:-))
    上傳大文件,有好幾種方法:
    1、思歸的HttpWorkerRequest方法,太難,看不懂:-(
    2、利用第三方的控件 AspNetUpload 要錢!!算了,咱還是喜歡免費的。
    3、修改web.config文件,但是不能捕獲錯誤。
    4、通過ftp的方式上傳。服務器需要提供ftp服務。

    沒轍,只好選第三種方式,誰讓咱太蠢了呢!(太蠢了,沒有關系,要多吃魚,聽說吃魚能聰明點。)

    那就仔細專研第三種方式吧!

    修改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>");
         }
        }
       }
      
    6、搞定收工。(這魚沒有白吃啊)

    經過上述修改,現在的上傳變成了,程序指定文件大小,如果超過,則彈出錯誤提示。
    這樣一來,就好多了,最起碼自己能接受了,跟用戶解釋也不太費勁了。

     


    文章來源:http://www.cnblogs.com/wangdetian168/archive/2008/06/25/1229963.html
    posted on 2010-09-28 11:02 sanmao 閱讀(222) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 无码永久免费AV网站| 久久亚洲国产成人影院| 免费国产作爱视频网站| 亚洲嫩草影院在线观看| 永久亚洲成a人片777777| 好吊妞788免费视频播放| 免费无码中文字幕A级毛片| 国产免费人成视频在线播放播 | 五月天婷婷免费视频| 精品久久久久久亚洲精品| 亚洲处破女AV日韩精品| 亚洲成人影院在线观看| 永久免费AV无码网站在线观看| 国产精品亚洲AV三区| 亚洲av一本岛在线播放| 亚洲精品熟女国产| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 亚洲综合色视频在线观看| 国产成人免费手机在线观看视频| 中文毛片无遮挡高潮免费| 男女猛烈xx00免费视频试看| 亚洲性色AV日韩在线观看| 亚洲伊人久久大香线蕉啊| 丁香亚洲综合五月天婷婷| 日本免费电影一区| 日韩在线天堂免费观看| 人禽杂交18禁网站免费| 青青青国产在线观看免费网站| **一级毛片免费完整视| 91青青青国产在观免费影视| 99精品视频免费在线观看| 久久久久久久岛国免费播放| 亚洲欧美成aⅴ人在线观看| 亚洲啪啪AV无码片| 国产成人无码综合亚洲日韩| 亚洲熟女少妇一区二区| 国产亚洲精品一品区99热| 成人免费毛片观看| 在线人成精品免费视频| 18禁男女爽爽爽午夜网站免费| 在线观看永久免费|