任何人都可以帮助我查询。我希望能够仅允许使用AjaxFileUpload工具将某些文件类型上载到服务器。有服务器端验证,但我想验证客户端上的文件类型。
我使用了上传工具的AllowedFileTypes方法,如下所示:
fixed-form
但是它只允许上传pdf文件。它不会允许jpg或docx。 AjaxFileUpload工具中是否存在任何人都知道的原因或错误。
还有其他办法吗?我使用以下javascript来验证文件类型:
<asp:AjaxFileUpload ID="AjaxFileUpload1" runat="server" OnUploadComplete="OnUploadComplete" ThrobberID="Throbber" ClientIDMode="AutoID" AllowedFileTypes="jpg,pdf,docx" />
并相应地更改了AjaxFileUpload,但它无法正常工作:
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;
}
非常感谢任何帮助。
答案 0 :(得分:0)
此功能AjaxFileUpload允许文件类型
<ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload1" OnUploadComplete="AjaxFileUpload1_UploadComplete" runat="server" AllowedFileTypes="jpeg,jpg,png,gif,pdf,zip,rar,ZIP,RAR" MaximumNumberOfFiles="5" />