Reputation: 35268
When i use a file upload i use to check file contenttype with regular expressions... For ex
private 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#...
Upvotes: 4
Views: 3195
Reputation: 5256
Gumbo is right, it might just be easier to check the file's extension.
Path.GetExtension(file.FileName)
Upvotes: 0
Reputation: 19790
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
Upvotes: 4
Reputation: 16603
DOC's mimetype is:
happy regex'ing
Edit:According to @Dan Diplo, you should also check for .docx's MIMEtypes
Upvotes: 6
Reputation: 6381
if the content-type's are known (see Axarydax answer), why would you want to use regex?
Upvotes: 1
Reputation: 6871
Take a look at regexblid A library with regular expression.
Also good to know, regexbuddy can be used to validate and test regular expressions.
Upvotes: 0