2011-08-07 47 views
0

我需要創建一個FileUpload, 的正則表達式只允許PDF文件如何驗證文件是pdf?

<asp:RegularExpressionValidator runat="server" ID="valUpTest" ControlToValidate="FileUpload1" 
          ErrorMessage="Files Only (.pdf)" ValidationExpression="?" /> 
+1

http://stackoverflow.com/questions/942830/problem-validating-filetypes-in-an-asp-net-fileupload-control-with-regularexpress –

+0

爲什麼你會使用一個正則表達式?一個簡單的string.EndsWith是乾淨和簡單的:http://msdn.microsoft.com/en-us/library/ms131430.aspx – CodesInChaos

+0

除了驗證文件擴展名,你還應該驗證文件內容本身,即檢查它們是否他們包含某些魔術字節。這可以防止用戶簡單地重命名文件來欺騙過濾器。 – CodesInChaos

回答

0

試試這個正則表達式:

\.pdf$ 
1

你不能信任客戶端單獨驗證,也沒有文件擴展名。您需要打開上傳的二進制數據並檢查文件的標題是否「正確」。