我想在asp.net中驗證asp的FileUpload控件。這應該只接受.xlsx和.xls文件。驗證可能在服務器端或客戶端。但客戶端會更好。 如何做到這一點?在ASP.Net中驗證FileUpload控件
0
A
回答
0
是..則可以通過簡單的客戶端腳本驗證..
變種uploadfile =的document.getElementById( 「<%= FileUpload1.ClientID%>」)值。 //獲取子串,找出擴展 VAR EXT = uploadfile.extension //獲取子串,找出擴展
如果(EXT!= 「XLS 」) { 警報(「 無效的格式。」) 返回false ; }
0
在服務器端U可以做這樣的
if (FileUpload1.HasFile)
{
string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName);
if (fileExtension.ToLower() != ".xlsx" && fileExtension.ToLower() != ".xls")
{
Labelupload.Text = "Only Files with ..xlsx and .xls extension are allowed";
Labelupload.ForeColor = System.Drawing.Color.Red;
}
0
檢查是否爲真正的文件類型並不簡單。用戶可以僞造文件類型(例如,.exe重命名爲.pdf),然後惡意文件將顯示爲良性文件。並檢查MIME類型的服務器端不會解決這個問題;即,如果重命名爲.pdf,.exe將顯示「application/pdf」的MIME。檢查使用System.IO.BinaryReader真實文件類型一種簡單的方法在這裏描述了使用System.IO.BinaryReader
:
http://forums.asp.net/post/2680667.aspx
和VB版本在這裏:
http://forums.asp.net/post/2681036.aspx
請注意,您需要知道你正在檢查的文件類型的二進制'代碼',但你可以通過實現這個解決方案並調試代碼來獲得它們。
相關問題
- 1. ASP.NET/VB.NET FileUpload控件
- 2. Asp.Net驗證控件
- 3. ASP.NET驗證控件
- 4. ASP.NET驗證控件
- 5. Telerik的asp.net MVC FileUpload控件
- 6. ASP.NET - 在UserControl中驗證控件
- 7. 驗證控件在asp.net中的ValidationExpression
- 8. 在ASP.NET用戶控件中的驗證
- 9. 的ASP.NET驗證控件
- 10. ASP.NET AJAX驗證控件
- 11. ASP.Net驗證控件行爲
- 12. 使用驗證控件對日期進行驗證?在Asp.net中?
- 13. Ajax化容器中的ASP.NET FileUpload控件
- 14. ASP.NET MVC2中的FileUpload控件C#
- 15. asp.net中的FileUpload控件拋出異常
- 16. ASP.NET禁用「C:\ fakepath」在FileUpload控件
- 17. ASP.NET FileUpload控件不能在嚮導控件中工作
- 18. 如何驗證使用FileUpload控件上傳的Excel文件
- 19. ASP.NET中的用戶控件驗證
- 20. Asp.Net中的控件驗證提示
- 21. 禁止在asp.net控件上驗證
- 22. 在WPF控件中是否存在任何驗證控件,就像ASP.net中的驗證控件
- 23. asp.net fileupload控件和文件名
- 24. 從FileUpload控件獲取文件名 - ASP.NET
- 25. 如何控制ASP.NET驗證程序控件客戶端驗證
- 26. 使用驗證器控件驗證asp.net中的日期字段
- 27. 錯誤事件的ASP.NET驗證控件?
- 28. RegEx客戶端驗證FileUpload
- 29. ASP.Net檢查FileUpload控件是否爲空
- 30. 如何正確使用ASP.NET FileUpload控件
<%= FileUpload1.ClientID%>「這是正確的語法? – 2010-05-26 05:57:36
<%#FileUpload1.ClientID%>」thre必須是'#'而不是'='我認爲是正確的? – 2010-05-26 05:58:45