开发者

regular expression to check file content type is .doc or not?

开发者 https://www.devze.com 2022-12-27 13:04 出处:网络
When i use a file upload i use to check file contenttype with regular expressions... For ex pr开发者_如何学Pythonivate bool IsImage(HttpPostedFile file)

When i use a file upload i use to check file contenttype with regular expressions... For ex

pr开发者_如何学Pythonivate bool IsImage(HttpPostedFile file)
    {
        if (file != null && Regex.IsMatch(file.ContentType, "image/\\S+") &&
          file.ContentLength > 0)
        {
            return true;
        }
        return false;
    }

This returns my file is an image or not... How to check it is a word(.doc/.docx) document or not using c#...


DOC's mimetype is:

  • application/msword [official]
  • application/doc
  • appl/text
  • application/vnd.msword
  • application/vnd.ms-word
  • application/winword
  • application/word
  • application/x-msw6
  • application/x-msword

happy regex'ing

Edit:According to @Dan Diplo, you should also check for .docx's MIMEtypes


For example using Axarydax answer: (so no docx mime check)

List<String> wordMimeTypes = new List<String>();
wordMimeTypes.Add("application/msword");
wordMimeTypes.Add("application/doc");
wordMimeTypes.Add("appl/text");
wordMimeTypes.Add("application/vnd.msword");
wordMimeTypes.Add("application/vnd.ms-word");
wordMimeTypes.Add("application/winword");
wordMimeTypes.Add("application/word");
wordMimeTypes.Add("application/x-msw6");
wordMimeTypes.Add("application/x-msword");
//etc...etc...

if (wordMimeTypes.Contains(file.ContentType))
{
    //word document
}
else
{
    //not a word document
}

More readable than Regex because regex will become a pain in the ass when trying to make a expression for a dozen of mime types


if the content-type's are known (see Axarydax answer), why would you want to use regex?


Take a look at regexblid A library with regular expression.

Also good to know, regexbuddy can be used to validate and test regular expressions.


Gumbo is right, it might just be easier to check the file's extension.

Path.GetExtension(file.FileName)
0

精彩评论

暂无评论...
验证码 换一张
取 消