在Web应用程序中,如何在打开文件上载对话框时限制上载的文件类型。如果您使用的是ASP.NET& C#
答案 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”属性答案 2 :(得分:0)
首先在HTML中使用accept属性。
然后检查文件的ContentType。
(不检查文件的名称,这是网络而不是本地机器,因此您不知道人们命名文件的方式,特别是在他们确定文件的方式与Windows不同的系统上类型,或扩展和应用程序之间的绑定不同)
最后,如果可以检测到错误报告的文件(尝试将其加载到相关类中 - 例如将图像/ png加载到位图中 - 在前几个字节中查找已定义文件“幻数”,等)那么也这样做。神奇数字方法可能很有用(不要混淆使用常量来避免源代码中的“幻数”,意思不同),因为许多文件类型必须以匹配特定模式的字节序列开头。例如。如果有人上传随机垃圾声称它是PNG或GIF,你可以在查看前几个字节后检测到它。