限制文件上传控制只上传c#中的某些类型的文件

时间:2010-08-13 07:37:51

标签: c# file-upload

在Web应用程序中,如何在打开文件上载对话框时限制上载的文件类型。如果您使用的是ASP.NET& C#

3 个答案:

答案 0 :(得分:2)

只需像excel文件那样验证文件扩展名

 string fileExtension = Path.GetExtension(fileUpload.PostedFile.FileName.ToString());
        //if (fileExtension == ".xls" || fileExtension == ".xlsx")
        if (fileExtension == ".xls")
        {
            return true;
        }
        else
        {
            return false;
        }

答案 1 :(得分:0)

您可以使用普通HTML输入类型=“file”

中的“accept”属性

http://www.w3schools.com/jsref/dom_obj_fileupload.asp

答案 2 :(得分:0)

首先在HTML中使用accept属性。

然后检查文件的ContentType。

不检查文件的名称,这是网络而不是本地机器,因此您不知道人们命名文件的方式,特别是在他们确定文件的方式与Windows不同的系统上类型,或扩展和应用程序之间的绑定不同

最后,如果可以检测到错误报告的文件(尝试将其加载到相关类中 - 例如将图像/ png加载到位图中 - 在前几个字节中查找已定义文件“幻数”,等)那么也这样做。神奇数字方法可能很有用(不要混淆使用常量来避免源代码中的“幻数”,意思不同),因为许多文件类型必须以匹配特定模式的字节序列开头。例如。如果有人上传随机垃圾声称它是PNG或GIF,你可以在查看前几个字节后检测到它。