2012-09-18 35 views
0

我有一個用於配置文件圖像上傳的AJAX文件上傳器。我想限制用戶上傳圖像高達102400字節only.How文件大小超過時顯示javascript錯誤消息。如何在asp.net中使用AJAXFile Uploader限制FileSize?

代碼:

protected void AjaxFileUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e) 
    { 
    string workerfile = Session["LoginUserID"].ToString(); 
      string strFileName = string.Empty; 
      string strFileType = string.Empty; 
      string path = string.Empty; 
      var folder = Server.MapPath("../worker/Uploads/" + workerfile); 
    if (!Directory.Exists(folder)) 
      { 
       Directory.CreateDirectory(folder); 
       strFileName = DateTime.Now.ToString("MM-dd-yyyy_HHmmss"); 
       strFileType = System.IO.Path.GetExtension(e.FileName).ToString().ToLower(); 

       AjaxFileUpload1.SaveAs(Server.MapPath("../worker/Uploads/" + Session["LoginUserID"] + "/" + workerfile + "_img" + strFileType)); 
      } 
      else 
      { 

       strFileName = DateTime.Now.ToString("MM-dd-yyyy_HHmmss"); 
       strFileType = System.IO.Path.GetExtension(e.FileName).ToString().ToLower(); 


       AjaxFileUpload1.SaveAs(Server.MapPath("../worker/Uploads/" + Session["LoginUserID"] + "/" + workerfile + "_img" + strFileType)); 

      } 
} 

如何做任何想法? 幫助讚賞。

回答

0

不幸的是,沒有辦法對服務器端發生什麼問題的細節做出響應 - 也就是說,沒有正式的方式。這裏有一個替代方案:

  1. 使用AjaxFileUploadEventArgs.FileSize檢查文件大小。如果它 超過您的最大值(看起來您可能會限制爲1 MB,則正確的值爲1048576),請設置爲 AjaxFileUploadEventArgs.PostedUrl =「您的文件太大等。

  2. 設置你的控制OnClientUploadComplete屬性的JS函數,要麼顯示圖像如果文件名 字符串格式等,或顯示與錯誤 消息的窗口的名稱 。

這是一個黑客當然,但它會工作。