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)
精彩评论