上传前如何验证ajax工具包AsyncFileUpload控制文件的大小和扩展名

时间:2019-07-16 07:28:18

标签: asp.net validation webforms ajaxcontroltoolkit asyncfileupload

我有一个像这样的AsyncFileUpload控件

<ajaxToolkit:AsyncFileUpload 
OnUploadedComplete="Attachment1_UploadedComplete" 
OnClientUploadStarted="Attachment1_UploadStarted" runat="server"
ID="Attachment1File" AutoPostBack="true"                                             
UploaderStyle="Traditional" CssClass="form-control" 
UploadingBackColor="#CCFFFF" ThrobberID="loader1" />

我希望允许的文件为doc,docx,pdf,xls,xlsx,zip和最大文件上传量10MB。上传之前如何验证文件?

我试图在后面的代码中执行类似的操作,但是执行该文件时该文件已经上传到服务器了

   AttachmentError1.Visible = false;
   string[] extension = Attachment1File.PostedFile.FileName.Split('.');
   if (Attachment1File.PostedFile.ContentLength > 100000000 ||   !Extensions.Contains(extension[extension.Length-1]))
   {
    File.Delete(Server.MapPath("~/FormTemporaryFiles/") + FormId + "\\" + FormIdNumber.Value + "\\" + e.FileName.ToString());
     Attachment1File.ClearAllFilesFromPersistedStore();
     AttachmentError1.Visible = true;
    }

编辑:我尝试使用自定义验证器,但没有用。

1 个答案:

答案 0 :(得分:0)

我所做的是将代码添加到AsyncFileUpload的UploadedCompleted事件中的代码后面,然后再次单击提交按钮。自定义验证程序无法正常工作,因此我必须手动进行。