2017-03-08 90 views
0

我正在尋找一種簡單的方法來檢查上傳文件的擴展名,如果它是PDF文件做一些事情,否則警告消息將顯示其(錯誤的文件類型),但我的代碼的問題是,如果我選擇任何類型的文件,而不是PDF,它會顯示錯誤頁面此消息:c#檢查上傳文件的擴展名

Server Error in '/' Application. 
    PDF header signature not found. 
    Exception Details: iTextSharp.text.exceptions.InvalidPdfException: PDF header signature not found. 



     <asp:FileUpload runat="server" ID="file1" AllowMultiple="true" /> 


     string fileName = Path.GetFileName(file1.FileName); 
     FileInfo fi = new FileInfo(fileName); 
     string ext = fi.Extension; 

     if (ext == ".pdf") 
     { 
     //do something 
     } 
     else 
     Label1.Text = string.Format("wrong file type"); 
+0

不要爲匿名膽小鬼說在http://stackoverflow.com/questions/10621936/itextsharp-exception-pdf-header-signature-not-found –

回答

4

獲得上傳的文件

string FileName = file1.PostedFile.FileName; 

得到的擴展文件名上傳的文件

string FileExtension = System.IO.Path.GetExtension(file1.PostedFile.FileName); 
+0

這正常工作與我謝謝 – azza

1
bool isValidFile = false; 

      string[] validFileTypes = { "xlsx", "xls", "pdf" }; 
      string ext = Path.GetExtension(File_Uploader.PostedFile.FileName); 

      for (int i = 0; i < validFileTypes.Length; i++) 
      { 
       if (ext == "." + validFileTypes[i]) 
       { 
        isValidFile = true; 
        break; 
       } 
      }