2011-06-02 83 views

回答

2

您可以使用JavaScript來過濾它在服務器端..

試試這個here

+0

這真的幫助我..謝謝!!!! – ghie 2011-06-02 15:14:12

4

控件上沒有任何屬性。我認爲最簡單的方法是通過javascript驗證所選文件。例如

JS功能:

function checkFileExtension(elem) { 
     var filePath = elem.value; 

     if(filePath.indexOf('.') == -1) 
      return false; 

     var validExtensions = new Array(); 
     var ext = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase(); 

     validExtensions[0] = 'jpg'; 
     validExtensions[1] = 'jpeg'; 
     validExtensions[2] = 'bmp'; 
     validExtensions[3] = 'png'; 
     validExtensions[4] = 'gif'; 
     validExtensions[5] = 'tif'; 
     validExtensions[6] = 'tiff'; 
     validExtensions[7] = 'txt'; 
     validExtensions[8] = 'doc'; 
     validExtensions[9] = 'xls'; 
     validExtensions[10] = 'pdf'; 

     for(var i = 0; i < validExtensions.length; i++) { 
      if(ext == validExtensions[i]) 
       return true; 
     } 

     alert('The file extension ' + ext.toUpperCase() + ' is not allowed!'); 
     return false; 
    } 

電線它在Page_Load中:

FileUpload1.Attributes.Add("onchange", "return checkFileExtension(this);") 

注:此代碼是從這裏一字不差:http://forums.asp.net/t/1156963.aspx/1?How+to+filter+files+in+file+upload+HTML+control。我沒有寫它,我沒有測試它!

5

您可以使用RegularExpressionValidator

<asp:RegularExpressionValidator ID="rexp" runat="server" ControlToValidate="fupProduct" 
    ErrorMessage="Only .gif, .jpg, .png, .tiff and .jpeg" 
    ValidationExpression="(.*\.([Gg][Ii][Ff])|.*\.([Jj][Pp][Gg])|.*\.([Bb][Mm][Pp])|.*\.([pP][nN][gG])|.*\.([tT][iI][iI][fF])$)"></asp:RegularExpressionValidator>