【发布时间】:2018-08-16 19:35:12
【问题描述】:
我有这个文件扩展名的字符串数组:
public string[] mimeArray = new string[] { "text / plain", @"text / htmlmultipart/.*", "application/octet-stream", @"application/.*", @"text/.*", @"image/.*", @"audio/.*", @"video/.*" };};
我的正则表达式无法正常工作,正在占用:
"text / plain",
"text / htmlmultipart\\",
"application/octet-stream",
"application\\",
"text\\",
"image\\",
"audio\\",
"video\\"
我不知道我在这里做错了什么。我需要我的数组:
image/*
与image/png等文件扩展名进行比较
我有一个带有文件附件的 for each 循环,我将扩展名保存在本地变量中:
var mimeType = MimeMapping.GetMimeMapping(item.Name);
然后我需要验证扩展名是否存在于声明的数组中。我用这个方法:
private bool ValidateMime(string mimeType)
{
if(mimeArray.Contains(mimeType))
{
return true;
}
else
{
return false;
}
}
谁能帮我纠正我的数组?
【问题讨论】:
-
你试过
image/\\* -
我刚试过,但它也不起作用。我也试过用@开头的
-
向我们展示您尝试过的正则表达式。
-
"\*"不是有效的字符串文字。请在问题中发布真实代码,整个相关代码。您的问题出在缺少的代码中。 -
我相信您尝试将 mime 过滤器转换为正则表达式模式,例如
image\*->^image\\.*$