我想在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 - 在UserControl中验证控件
- 5. 验证控件在asp.net中的ValidationExpression
- 6. 在ASP.NET用户控件中的验证
- 7. 验证多个控件Asp.Net
- 8. ASP.Net验证控件行为
- 9. 的ASP.NET验证控件
- 10. ASP.NET AJAX验证控件
- 11. ASP.NET禁用“C:\ fakepath”在FileUpload控件
- 12. ASP.NET MVC2中的FileUpload控件C#
- 13. Ajax化容器中的ASP.NET FileUpload控件
- 14. ASP.NET FileUpload控件不能在向导控件中工作
- 15. 在WPF控件中是否存在任何验证控件,就像ASP.net中的验证控件
- 16. 禁止在asp.net控件上验证
- 17. Asp.Net中的控件验证提示
- 18. ASP.NET中的用户控件验证
- 19. 从FileUpload控件获取文件名 - ASP.NET
- 20. asp.net fileupload控件和文件名
- 21. 使用验证器控件验证asp.net中的日期字段
- 22. ASP.Net检查FileUpload控件是否为空
- 23. 如何正确使用ASP.NET FileUpload控件
- 24. 未在asp.net 3.5中获取发布文件。 FileUpload控件
- 25. FileUpload .net控件
- 26. FileUpload控件读
- 27. ASP.NET FileUpload:如果存在验证器,则不起作用?
- 28. 验证和更新面板中的Fileupload控制
- 29. FileUpload控件事件
- 30. 验证ASP.NET服务器控件
<%= FileUpload1.ClientID%>“这是正确的语法? – 2010-05-26 05:57:36
<%#FileUpload1.ClientID%>”thre必须是'#'而不是'='我认为是正确的? – 2010-05-26 05:58:45