C# 如何使用if语句检查文件上传的to文件扩展名

C# 如何使用if语句检查文件上传的to文件扩展名,c#,asp.net,file-upload,C#,Asp.net,File Upload,在下面的代码中,我试图在处理代码和上载文件之前先计算文件扩展名,但当我这样做时会发生什么: FileExtension==“.jpg | |.png” 它的move to else语句,其中我选择的文件是:.jpg。因此,请您帮助我检查代码并接受上面的不止一个扩展名。jpg | |.png。就像我在下面添加一个扩展一样,它可以很好地工作,但如果我像上面那样做,它将不会工作,它将移动到else语句 if (FileUpload1.HasFile || FileUpload2.HasFile ||

在下面的代码中,我试图在处理代码和上载文件之前先计算文件扩展名,但当我这样做时会发生什么:

FileExtension==“.jpg | |.png”
它的move to else语句,其中我选择的文件是:.jpg。因此,请您帮助我检查代码并接受上面的不止一个扩展名。jpg | |.png。就像我在下面添加一个扩展一样,它可以很好地工作,但如果我像上面那样做,它将不会工作,它将移动到else语句

if (FileUpload1.HasFile || FileUpload2.HasFile || FileUpload3.HasFile || FileUpload4.HasFile || FileUpload5.HasFile)
{
    if (FileExtention == ".jpg" || FileExtention2 == ".jpg" || FileExtention3 == ".jpg" || FileExtention4 == ".jpg" || FileExtention5 == ".jpg")
    {

将所有文件扩展名添加到一个数组中,将所有有效扩展名添加到另一个数组中,并使用linq进行检查(之前使用小写):


您不能编写
FileExtention==”.jpg | |.png“
来测试
FileExtention==”.jpg“
FileExtention==”.png“
。原因是,
“.jpg | |.png”
是字符串,而不是表达式


你可以这样做:
FileExtention==”.jpg“| | FileExtention==”.png“

Hi@Matyas谢谢你的回复,我已经像你提到的那样做了,但是还有一个问题,我试图上传.docx文件,并且代码被接受,它应该只接受.jpg或.png??!如何获取
文件扩展名的值?
var files = new [] { FileExtention, FileExtention2, FileExtention3, FileExtention4, FileExtention5 };
var extensions = new [] {".jpg", ".png"};
if (files.All(f => extensions.Contains(f.ToLower())))
{
   //...do stuff...
}