2016-06-14 37 views
0

任何人都可以幫助我的查詢。我希望只能通過AjaxFileUpload工具將某些文件類型上傳到服務器。有服務器端驗證,但我想驗證客戶端上的文件類型。允許的文件類型爲Ajax文件上傳

我已經使用上傳工具的AllowedFileTypes方法,像這樣:

​​

但是它只允許PDF文件上傳。它不會允許JPG或DOCX。是否有任何人知道的AjaxFileUpload工具中的錯誤或錯誤?

是否有另一種方法可以做到這一點?我用下面的JavaScript來驗證的文件類型:

var validFilesTypes = ["docx", "jpg", "pdf"]; 
function ValidateFile() 
{ 
    var file = document.getElementById("<%=AjaxFileUpload1.ClientID%>"); 
    var label = document.getElementById("<%=lblStatus.ClientID%>"); 
    var path = file.valueOf; 
    var ext=path.substring(path.lastIndexOf(".")+1,path.length).toLowerCase(); 
    var isValidFile = false; 
    for (var i=0; i<validFilesTypes.length; i++) 
    { 
    if (ext==validFilesTypes[i]) 
    { 
     isValidFile=true; 
     break; 
    } 
    } 
    if (!isValidFile) 
    { 
    label.style.color="red"; 
    label.innerHTML="Invalid File. Please upload a File with" + 
    " extension:\n\n"+validFilesTypes.join(", "); 
    } 
    return isValidFile; 
} 

,並相應地改變了AjaxFileUpload,但它不工作:

    <asp:AjaxFileUpload ID="AjaxFileUpload1" runat="server" OnUploadComplete="OnUploadComplete" OnClientUploadComplete="ValidateFile" ThrobberID="Throbber" ClientIDMode="AutoID" /> 

任何幫助將不勝感激。

+0

如果有人遇到了類似的問題,這是與AjaxControlToolkit問題,只需要安裝一個新的版本。 – user2560913

回答

0

此功能AjaxFileUpload這讓文件類型

<ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload1" OnUploadComplete="AjaxFileUpload1_UploadComplete" runat="server" AllowedFileTypes="jpeg,jpg,png,gif,pdf,zip,rar,ZIP,RAR" MaximumNumberOfFiles="5" />