2013-05-16 2 views
0

내가 파일 업로드 양식 파일 유형에 대한 검사를 추가하기 위해 노력하고있어 :RegularExpressionValidator 오류 메시지

<asp:FileUpload ID="FileUpload1" runat="server" /> 
<asp:RegularExpressionValidator id="FileUpLoadValidator" runat="server" ErrorMessage="Upload .doc, .pdf or .xls files only." ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.xls|.XLS|.pdf|.PDF|.doc|.DOC)$" ControlToValidate="FileUpload1"> </asp:RegularExpressionValidator> 

RegularExpressionValidator 모든 파일 형식을 추가하기 전에 업로드 할 수 있습니다.

추가 후 파일 형식을 계속 업로드 할 수 있습니다.

아무도 내가 누락 된 내용을 말해 줄 수 있습니까?

+0

fileupload 컨트롤에서 'multiple'구문으로 확인하십시오. – iamCR

+0

다중 파일 업로드를 허용하는'multiple'을 사용하거나 사용하지 않고 동일한 결과를 얻습니다. 나는 그것을 명확하게하기 위해 제거 할 것이다. – Robert

+0

@ 로버트는 내 논리를 열심히 했어. – Rahul

답변

1

이 논리를 사용해보세요.

^.*\.(jpg|JPG|gif|GIF|doc|DOC|pdf|PDF)$ 

dotdot is a special character을 사용하고 있습니다. Regular Expression을 확인하기 위해 tool이 있습니다. 다른 파일 Extension도 추가 할 수 있습니다.

당신이 Button이 필요하고 OnClick 이벤트의에 처음

if (FileUpload1.HasFile) 
{ 
      // Get the name of the file to upload. 
      string fileName = Server.HtmlEncode(FileUpload1.FileName); 
      // Get the extension of the uploaded file. 
      string extension = System.IO.Path.GetExtension(fileName); 
      // Allow only files with .doc or .xls or .pdf extensions 
      // to be uploaded. 
      if ((extension == ".pdf") || (extension == ".xls") || (extension == ".doc")) 
      { 
      //upload accordingly 
      } 
      else 
      { 
      // Show message 
      } 
} 
같은 파일의 extension1을 확인해야이 들어

뒤에이 또한

^([a-zA-Z].*|[1-9].*)\.(((p|P)(d|D)(f|F))|((d|D)(o|O)(c|C)))$ 

코드를 사용해보십시오

희망 작품

+0

'.htm' 파일로 시도했지만 불행히도 여전히 업로드되었습니다. – Robert

+0

.pdf, .doc 및 .xls. – Robert

+0

plz 시도해보십시오. – Rahul

0

이 중 하나를 시도해보십시오.

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
        ErrorMessage="Only JPG/jpg file allowed!" 
        ControlToValidate="ctlFileUpload" 
        ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w](.)*))+(\.jpg|\.JPG)$" 
        Width="510px" CssClass="Validator"></asp:RegularExpressionValidator> 

// ----- 또는

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
        ErrorMessage="Only JPG/jpg file allowed!" 
        ControlToValidate="ctlFileUpload" 
        ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.jpg|.JPG)$" 
        Width="510px" CssClass="Validator"></asp:RegularExpressionValidator> 

// ------- 또는

<asp:RegularExpressionValidator ID="imgValidator" runat="server" ControlToValidate="imgUpload" 
       ErrorMessage="*JPG/JPEG/GIF files only" ValidationExpression="^.+\.(([jJ][pP][eE]?[gG])|([gG][iI][fF]))$" /> 

또는 사용자가 TXT 파일을 업로드 할 수 있도록이 시도

<asp:RegularExpressionValidator ID="FileUpLoadValidator" runat="server" ErrorMessage="Only text files!" 
       ValidationExpression=".*(\.txt|\.TXT)$" ControlToValidate="FileUpload1" Display="None"> 
+0

감사합니다. 다음을 시도하고 업로드를 클릭하면 페이지가 멈 춥니 다. ' ' – Robert

+0

'^. * \. xls [xm]? $ ' – iamCR

+0

이 표현식을 사용하여 업로드를 계속합니다. – Robert