Reputation: 121
I am using following code to list a file from a folder and display for download
public FileResult Download(string id)
{
int fid = Convert.ToInt32(id);
var files = new DataClasses().GetFiles();
string filename = (from f in files
where f.FileId == fid
select f.FilePath).First();
string contentType = "application/doc";
//Parameters to file are
//1. The File Path on the File Server
//2. The content type MIME type
//3. The parameter for the file save by the browser
return File(filename, contentType, "Report.doc");
}
here everything is working fine for word documents but if I place any other type of file like excel or pdf it showing error I know this error is due to contentType = "application/doc";
I want to ask how to make the content type dynamic so that any kind of file inside the folder can be easily downloaded.
I know I can do it something like
string contentType = string.Empty;
if (CurrentFileName.Contains(".pdf"))
{
contentType = "application/pdf";
}
else if (CurrentFileName.Contains(".docx"))
{
contentType = "application/docx";
}
But here I need to write condition for every file type. Is there any way to ignore these condition checks?
Upvotes: 2
Views: 7187
Reputation: 4862
You can use the MimeMapping
class:
using System.Web;
(...)
return File(filename, MimeMapping.GetMimeMapping(filename), ...);
Upvotes: 4
Reputation: 413
File extensions can be renamed thus giving false information. There is a library called Tridlib.net that can help detect actual mime type by reading a file. In case anything is unclear, please reply I will try to explain and improve this answer.
Reference : http://mark0.net/code-tridlib-e.html
Note: The library available on this site is 32bit version so you have to test your web application in 32bit mode. However there are two solution for this.
Consider this sample code about how to use this library.
Description of sample code :
Prerequisites
Flow:
public class Program
{
static void Main(string[] args)
{
TridMimeCheckResult finalMimeResult = ValidateMime(filePathToCheck, tridDefinitionPath); // In place of "tridDefinitionPath", you have to pass the location where "TrIDDefs.TRD" file is located.
}
public class TridMimeCheckResult
{
public string FiletypeExtension { get; internal set; }
public string FileTypeName { get; internal set; }
public int Point { get; set; }
}
public static string ValidateMime(string filePath, string tridDefinitionPackPath)
{
int Ret;
int ResNum;
int ResId;
string sTrIDRes = "";
TridMimeCheckResult finalMimeResult = new TridMimeCheckResult();
List<TridMimeCheckResult> listMimeTypes = new List<TridMimeCheckResult>();
Ret = TrIDLib.TrID_LoadDefsPack(tridDefinitionPackPath);
// submit the file
Ret = TrIDLib.TrID_SubmitFileA(filePath);
// perform the analysis
Ret = TrIDLib.TrID_Analyze();
if (Ret > 0)
{
// get the number of results & display various info
ResNum = TrIDLib.TrID_GetInfoNET(TrIDLib.TRID_GET_RES_NUM, 0, ref sTrIDRes);
for (ResId = 1; ResId <= ResNum; ResId++)
{
TridMimeCheckResult newMimeType = new TridMimeCheckResult();
Ret = TrIDLib.TrID_GetInfoNET(TrIDLib.TRID_GET_RES_FILETYPE, ResId, ref sTrIDRes);
newMimeType.FileTypeName = sTrIDRes;
Ret = TrIDLib.TrID_GetInfoNET(TrIDLib.TRID_GET_RES_FILEEXT, ResId, ref sTrIDRes);
newMimeType.FiletypeExtension = sTrIDRes;
Ret = TrIDLib.TrID_GetInfoNET(TrIDLib.TRID_GET_RES_POINTS, ResId, ref sTrIDRes);
newMimeType.Point = Ret;
listMimeTypes.Add(newMimeType);
}
}
string finalConsolidatedList = string.Empty;
if (listMimeTypes.Count > 0)
{
//Running iterations to find most probable match by comparing the Point.
finalMimeResult = listMimeTypes.Aggregate((i1, i2) => i1.Point > i2.Point ? i1 : i2);
}
return finalMimeResult;
}
}
Upvotes: 1
Reputation: 5821
if you're not using .Net framework 4.5 then I suggest using a dictionary to find an apropriate mime Type for each possible extensions.
public FileResult Download(string id)
{
int fid = Convert.ToInt32(id);
var files = new DataClasses().GetFiles();
string filename = (from f in files
where f.FileId == fid
select f.FilePath).First();
String filePath = fileName;
fileName = Path.GetFileName(filePath);
String contentType = GetFromFileName(fileName);
return File(filePath, contentType, fileName);
}
public String GetFromFileName(String fileName)
{
return GetFromExtension(Path.GetExtension(fileName).Remove(0, 1));
}
public String GetFromExtension(String ext)
{
if (MIMETypesDictionary.ContainsKey(ext))
{
return MIMETypesDictionary[extension];
}
return "unknown/unknown";
}
private static IDictionary<string, string> MIMETypesDictionary = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase) {
{"323", "text/h323"},
{"3g2", "video/3gpp2"},
{"3gp", "video/3gpp"},
{"3gp2", "video/3gpp2"},
{"3gpp", "video/3gpp"},
{"7z", "application/x-7z-compressed"},
{"aa", "audio/audible"},
{"AAC", "audio/aac"},
{"aaf", "application/octet-stream"},
{"aax", "audio/vnd.audible.aax"},
{"ac3", "audio/ac3"},
{"aca", "application/octet-stream"},
{"accda", "application/msaccess.addin"},
{"accdb", "application/msaccess"},
{"accdc", "application/msaccess.cab"},
{"accde", "application/msaccess"},
{"accdr", "application/msaccess.runtime"},
{"accdt", "application/msaccess"},
{"accdw", "application/msaccess.webapplication"},
{"accft", "application/msaccess.ftemplate"},
{"acx", "application/internet-property-stream"},
{"AddIn", "text/xml"},
{"ade", "application/msaccess"},
{"adobebridge", "application/x-bridge-url"},
{"adp", "application/msaccess"},
{"ADT", "audio/vnd.dlna.adts"},
{"ADTS", "audio/aac"},
{"afm", "application/octet-stream"},
{"ai", "application/postscript"},
{"aif", "audio/x-aiff"},
{"aifc", "audio/aiff"},
{"aiff", "audio/aiff"},
{"air", "application/vnd.adobe.air-application-installer-package+zip"},
{"amc", "application/x-mpeg"},
{"application", "application/x-ms-application"},
{"art", "image/x-jg"},
{"asa", "application/xml"},
{"asax", "application/xml"},
{"ascx", "application/xml"},
{"asd", "application/octet-stream"},
{"asf", "video/x-ms-asf"},
{"ashx", "application/xml"},
{"asi", "application/octet-stream"},
{"asm", "text/plain"},
{"asmx", "application/xml"},
{"aspx", "application/xml"},
{"asr", "video/x-ms-asf"},
{"asx", "video/x-ms-asf"},
{"atom", "application/atom+xml"},
{"au", "audio/basic"},
{"avi", "video/x-msvideo"},
{"axs", "application/olescript"},
{"bas", "text/plain"},
{"bcpio", "application/x-bcpio"},
{"bin", "application/octet-stream"},
{"bmp", "image/bmp"},
{"c", "text/plain"},
{"cab", "application/octet-stream"},
{"caf", "audio/x-caf"},
{"calx", "application/vnd.ms-office.calx"},
{"cat", "application/vnd.ms-pki.seccat"},
{"cc", "text/plain"},
{"cd", "text/plain"},
{"cdda", "audio/aiff"},
{"cdf", "application/x-cdf"},
{"cer", "application/x-x509-ca-cert"},
{"chm", "application/octet-stream"},
{"class", "application/x-java-applet"},
{"clp", "application/x-msclip"},
{"cmx", "image/x-cmx"},
{"cnf", "text/plain"},
{"cod", "image/cis-cod"},
{"config", "application/xml"},
{"contact", "text/x-ms-contact"},
{"coverage", "application/xml"},
{"cpio", "application/x-cpio"},
{"cpp", "text/plain"},
{"crd", "application/x-mscardfile"},
{"crl", "application/pkix-crl"},
{"crt", "application/x-x509-ca-cert"},
{"cs", "text/plain"},
{"csdproj", "text/plain"},
{"csh", "application/x-csh"},
{"csproj", "text/plain"},
{"css", "text/css"},
{"csv", "text/csv"},
{"cur", "application/octet-stream"},
{"cxx", "text/plain"},
{"dat", "application/octet-stream"},
{"datasource", "application/xml"},
{"dbproj", "text/plain"},
{"dcr", "application/x-director"},
{"def", "text/plain"},
{"deploy", "application/octet-stream"},
{"der", "application/x-x509-ca-cert"},
{"dgml", "application/xml"},
{"dib", "image/bmp"},
{"dif", "video/x-dv"},
{"dir", "application/x-director"},
{"disco", "text/xml"},
{"dll", "application/x-msdownload"},
{"dll.config", "text/xml"},
{"dlm", "text/dlm"},
{"doc", "application/msword"},
{"docm", "application/vnd.ms-word.document.macroEnabled.12"},
{"docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"},
{"dot", "application/msword"},
{"dotm", "application/vnd.ms-word.template.macroEnabled.12"},
{"dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template"},
{"dsp", "application/octet-stream"},
{"dsw", "text/plain"},
{"dtd", "text/xml"},
{"dtsConfig", "text/xml"},
{"dv", "video/x-dv"},
{"dvi", "application/x-dvi"},
{"dwf", "drawing/x-dwf"},
{"dwp", "application/octet-stream"},
{"dxr", "application/x-director"},
{"eml", "message/rfc822"},
{"emz", "application/octet-stream"},
{"eot", "application/octet-stream"},
{"eps", "application/postscript"},
{"etl", "application/etl"},
{"etx", "text/x-setext"},
{"evy", "application/envoy"},
{"exe", "application/octet-stream"},
{"exe.config", "text/xml"},
{"fdf", "application/vnd.fdf"},
{"fif", "application/fractals"},
{"filters", "Application/xml"},
{"fla", "application/octet-stream"},
{"flr", "x-world/x-vrml"},
{"flv", "video/x-flv"},
{"fsscript", "application/fsharp-script"},
{"fsx", "application/fsharp-script"},
{"generictest", "application/xml"},
{"gif", "image/gif"},
{"group", "text/x-ms-group"},
{"gsm", "audio/x-gsm"},
{"gtar", "application/x-gtar"},
{"gz", "application/x-gzip"},
{"h", "text/plain"},
{"hdf", "application/x-hdf"},
{"hdml", "text/x-hdml"},
{"hhc", "application/x-oleobject"},
{"hhk", "application/octet-stream"},
{"hhp", "application/octet-stream"},
{"hlp", "application/winhlp"},
{"hpp", "text/plain"},
{"hqx", "application/mac-binhex40"},
{"hta", "application/hta"},
{"htc", "text/x-component"},
{"htm", "text/html"},
{"html", "text/html"},
{"htt", "text/webviewhtml"},
{"hxa", "application/xml"},
{"hxc", "application/xml"},
{"hxd", "application/octet-stream"},
{"hxe", "application/xml"},
{"hxf", "application/xml"},
{"hxh", "application/octet-stream"},
{"hxi", "application/octet-stream"},
{"hxk", "application/xml"},
{"hxq", "application/octet-stream"},
{"hxr", "application/octet-stream"},
{"hxs", "application/octet-stream"},
{"hxt", "text/html"},
{"hxv", "application/xml"},
{"hxw", "application/octet-stream"},
{"hxx", "text/plain"},
{"i", "text/plain"},
{"ico", "image/x-icon"},
{"ics", "application/octet-stream"},
{"idl", "text/plain"},
{"ief", "image/ief"},
{"iii", "application/x-iphone"},
{"inc", "text/plain"},
{"inf", "application/octet-stream"},
{"inl", "text/plain"},
{"ins", "application/x-internet-signup"},
{"ipa", "application/x-itunes-ipa"},
{"ipg", "application/x-itunes-ipg"},
{"ipproj", "text/plain"},
{"ipsw", "application/x-itunes-ipsw"},
{"iqy", "text/x-ms-iqy"},
{"isp", "application/x-internet-signup"},
{"ite", "application/x-itunes-ite"},
{"itlp", "application/x-itunes-itlp"},
{"itms", "application/x-itunes-itms"},
{"itpc", "application/x-itunes-itpc"},
{"IVF", "video/x-ivf"},
{"jar", "application/java-archive"},
{"java", "application/octet-stream"},
{"jck", "application/liquidmotion"},
{"jcz", "application/liquidmotion"},
{"jfif", "image/pjpeg"},
{"jnlp", "application/x-java-jnlp-file"},
{"jpb", "application/octet-stream"},
{"jpe", "image/jpeg"},
{"jpeg", "image/jpeg"},
{"jpg", "image/jpeg"},
{"js", "application/x-javascript"},
{"json", "application/json"},
{"jsx", "text/jscript"},
{"jsxbin", "text/plain"},
{"latex", "application/x-latex"},
{"library-ms", "application/windows-library+xml"},
{"lit", "application/x-ms-reader"},
{"loadtest", "application/xml"},
{"lpk", "application/octet-stream"},
{"lsf", "video/x-la-asf"},
{"lst", "text/plain"},
{"lsx", "video/x-la-asf"},
{"lzh", "application/octet-stream"},
{"m13", "application/x-msmediaview"},
{"m14", "application/x-msmediaview"},
{"m1v", "video/mpeg"},
{"m2t", "video/vnd.dlna.mpeg-tts"},
{"m2ts", "video/vnd.dlna.mpeg-tts"},
{"m2v", "video/mpeg"},
{"m3u", "audio/x-mpegurl"},
{"m3u8", "audio/x-mpegurl"},
{"m4a", "audio/m4a"},
{"m4b", "audio/m4b"},
{"m4p", "audio/m4p"},
{"m4r", "audio/x-m4r"},
{"m4v", "video/x-m4v"},
{"mac", "image/x-macpaint"},
{"mak", "text/plain"},
{"man", "application/x-troff-man"},
{"manifest", "application/x-ms-manifest"},
{"map", "text/plain"},
{"master", "application/xml"},
{"mda", "application/msaccess"},
{"mdb", "application/x-msaccess"},
{"mde", "application/msaccess"},
{"mdp", "application/octet-stream"},
{"me", "application/x-troff-me"},
{"mfp", "application/x-shockwave-flash"},
{"mht", "message/rfc822"},
{"mhtml", "message/rfc822"},
{"mid", "audio/mid"},
{"midi", "audio/mid"},
{"mix", "application/octet-stream"},
{"mk", "text/plain"},
{"mmf", "application/x-smaf"},
{"mno", "text/xml"},
{"mny", "application/x-msmoney"},
{"mod", "video/mpeg"},
{"mov", "video/quicktime"},
{"movie", "video/x-sgi-movie"},
{"mp2", "video/mpeg"},
{"mp2v", "video/mpeg"},
{"mp3", "audio/mpeg"},
{"mp4", "video/mp4"},
{"mp4v", "video/mp4"},
{"mpa", "video/mpeg"},
{"mpe", "video/mpeg"},
{"mpeg", "video/mpeg"},
{"mpf", "application/vnd.ms-mediapackage"},
{"mpg", "video/mpeg"},
{"mpp", "application/vnd.ms-project"},
{"mpv2", "video/mpeg"},
{"mqv", "video/quicktime"},
{"ms", "application/x-troff-ms"},
{"msi", "application/octet-stream"},
{"mso", "application/octet-stream"},
{"mts", "video/vnd.dlna.mpeg-tts"},
{"mtx", "application/xml"},
{"mvb", "application/x-msmediaview"},
{"mvc", "application/x-miva-compiled"},
{"mxp", "application/x-mmxp"},
{"nc", "application/x-netcdf"},
{"nsc", "video/x-ms-asf"},
{"nws", "message/rfc822"},
{"ocx", "application/octet-stream"},
{"oda", "application/oda"},
{"odc", "text/x-ms-odc"},
{"odh", "text/plain"},
{"odl", "text/plain"},
{"odp", "application/vnd.oasis.opendocument.presentation"},
{"ods", "application/oleobject"},
{"odt", "application/vnd.oasis.opendocument.text"},
{"one", "application/onenote"},
{"onea", "application/onenote"},
{"onepkg", "application/onenote"},
{"onetmp", "application/onenote"},
{"onetoc", "application/onenote"},
{"onetoc2", "application/onenote"},
{"orderedtest", "application/xml"},
{"osdx", "application/opensearchdescription+xml"},
{"p10", "application/pkcs10"},
{"p12", "application/x-pkcs12"},
{"p7b", "application/x-pkcs7-certificates"},
{"p7c", "application/pkcs7-mime"},
{"p7m", "application/pkcs7-mime"},
{"p7r", "application/x-pkcs7-certreqresp"},
{"p7s", "application/pkcs7-signature"},
{"pbm", "image/x-portable-bitmap"},
{"pcast", "application/x-podcast"},
{"pct", "image/pict"},
{"pcx", "application/octet-stream"},
{"pcz", "application/octet-stream"},
{"pdf", "application/pdf"},
{"pfb", "application/octet-stream"},
{"pfm", "application/octet-stream"},
{"pfx", "application/x-pkcs12"},
{"pgm", "image/x-portable-graymap"},
{"pic", "image/pict"},
{"pict", "image/pict"},
{"pkgdef", "text/plain"},
{"pkgundef", "text/plain"},
{"pko", "application/vnd.ms-pki.pko"},
{"pls", "audio/scpls"},
{"pma", "application/x-perfmon"},
{"pmc", "application/x-perfmon"},
{"pml", "application/x-perfmon"},
{"pmr", "application/x-perfmon"},
{"pmw", "application/x-perfmon"},
{"png", "image/png"},
{"pnm", "image/x-portable-anymap"},
{"pnt", "image/x-macpaint"},
{"pntg", "image/x-macpaint"},
{"pnz", "image/png"},
{"pot", "application/vnd.ms-powerpoint"},
{"potm", "application/vnd.ms-powerpoint.template.macroEnabled.12"},
{"potx", "application/vnd.openxmlformats-officedocument.presentationml.template"},
{"ppa", "application/vnd.ms-powerpoint"},
{"ppam", "application/vnd.ms-powerpoint.addin.macroEnabled.12"},
{"ppm", "image/x-portable-pixmap"},
{"pps", "application/vnd.ms-powerpoint"},
{"ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"},
{"ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow"},
{"ppt", "application/vnd.ms-powerpoint"},
{"pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12"},
{"pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation"},
{"prf", "application/pics-rules"},
{"prm", "application/octet-stream"},
{"prx", "application/octet-stream"},
{"ps", "application/postscript"},
{"psc1", "application/PowerShell"},
{"psd", "application/octet-stream"},
{"psess", "application/xml"},
{"psm", "application/octet-stream"},
{"psp", "application/octet-stream"},
{"pub", "application/x-mspublisher"},
{"pwz", "application/vnd.ms-powerpoint"},
{"qht", "text/x-html-insertion"},
{"qhtm", "text/x-html-insertion"},
{"qt", "video/quicktime"},
{"qti", "image/x-quicktime"},
{"qtif", "image/x-quicktime"},
{"qtl", "application/x-quicktimeplayer"},
{"qxd", "application/octet-stream"},
{"ra", "audio/x-pn-realaudio"},
{"ram", "audio/x-pn-realaudio"},
{"rar", "application/octet-stream"},
{"ras", "image/x-cmu-raster"},
{"rat", "application/rat-file"},
{"rc", "text/plain"},
{"rc2", "text/plain"},
{"rct", "text/plain"},
{"rdlc", "application/xml"},
{"resx", "application/xml"},
{"rf", "image/vnd.rn-realflash"},
{"rgb", "image/x-rgb"},
{"rgs", "text/plain"},
{"rm", "application/vnd.rn-realmedia"},
{"rmi", "audio/mid"},
{"rmp", "application/vnd.rn-rn_music_package"},
{"roff", "application/x-troff"},
{"rpm", "audio/x-pn-realaudio-plugin"},
{"rqy", "text/x-ms-rqy"},
{"rtf", "application/rtf"},
{"rtx", "text/richtext"},
{"ruleset", "application/xml"},
{"s", "text/plain"},
{"safariextz", "application/x-safari-safariextz"},
{"scd", "application/x-msschedule"},
{"sct", "text/scriptlet"},
{"sd2", "audio/x-sd2"},
{"sdp", "application/sdp"},
{"sea", "application/octet-stream"},
{"searchConnector-ms", "application/windows-search-connector+xml"},
{"setpay", "application/set-payment-initiation"},
{"setreg", "application/set-registration-initiation"},
{"settings", "application/xml"},
{"sgimb", "application/x-sgimb"},
{"sgml", "text/sgml"},
{"sh", "application/x-sh"},
{"shar", "application/x-shar"},
{"shtml", "text/html"},
{"sit", "application/x-stuffit"},
{"sitemap", "application/xml"},
{"skin", "application/xml"},
{"sldm", "application/vnd.ms-powerpoint.slide.macroEnabled.12"},
{"sldx", "application/vnd.openxmlformats-officedocument.presentationml.slide"},
{"slk", "application/vnd.ms-excel"},
{"sln", "text/plain"},
{"slupkg-ms", "application/x-ms-license"},
{"smd", "audio/x-smd"},
{"smi", "application/octet-stream"},
{"smx", "audio/x-smd"},
{"smz", "audio/x-smd"},
{"snd", "audio/basic"},
{"snippet", "application/xml"},
{"snp", "application/octet-stream"},
{"sol", "text/plain"},
{"sor", "text/plain"},
{"spc", "application/x-pkcs7-certificates"},
{"spl", "application/futuresplash"},
{"src", "application/x-wais-source"},
{"srf", "text/plain"},
{"SSISDeploymentManifest", "text/xml"},
{"ssm", "application/streamingmedia"},
{"sst", "application/vnd.ms-pki.certstore"},
{"stl", "application/vnd.ms-pki.stl"},
{"sv4cpio", "application/x-sv4cpio"},
{"sv4crc", "application/x-sv4crc"},
{"svc", "application/xml"},
{"swf", "application/x-shockwave-flash"},
{"t", "application/x-troff"},
{"tar", "application/x-tar"},
{"tcl", "application/x-tcl"},
{"testrunconfig", "application/xml"},
{"testsettings", "application/xml"},
{"tex", "application/x-tex"},
{"texi", "application/x-texinfo"},
{"texinfo", "application/x-texinfo"},
{"tgz", "application/x-compressed"},
{"thmx", "application/vnd.ms-officetheme"},
{"thn", "application/octet-stream"},
{"tif", "image/tiff"},
{"tiff", "image/tiff"},
{"tlh", "text/plain"},
{"tli", "text/plain"},
{"toc", "application/octet-stream"},
{"tr", "application/x-troff"},
{"trm", "application/x-msterminal"},
{"trx", "application/xml"},
{"ts", "video/vnd.dlna.mpeg-tts"},
{"tsv", "text/tab-separated-values"},
{"ttf", "application/octet-stream"},
{"tts", "video/vnd.dlna.mpeg-tts"},
{"txt", "text/plain"},
{"u32", "application/octet-stream"},
{"uls", "text/iuls"},
{"user", "text/plain"},
{"ustar", "application/x-ustar"},
{"vb", "text/plain"},
{"vbdproj", "text/plain"},
{"vbk", "video/mpeg"},
{"vbproj", "text/plain"},
{"vbs", "text/vbscript"},
{"vcf", "text/x-vcard"},
{"vcproj", "Application/xml"},
{"vcs", "text/plain"},
{"vcxproj", "Application/xml"},
{"vddproj", "text/plain"},
{"vdp", "text/plain"},
{"vdproj", "text/plain"},
{"vdx", "application/vnd.ms-visio.viewer"},
{"vml", "text/xml"},
{"vscontent", "application/xml"},
{"vsct", "text/xml"},
{"vsd", "application/vnd.visio"},
{"vsi", "application/ms-vsi"},
{"vsix", "application/vsix"},
{"vsixlangpack", "text/xml"},
{"vsixmanifest", "text/xml"},
{"vsmdi", "application/xml"},
{"vspscc", "text/plain"},
{"vss", "application/vnd.visio"},
{"vsscc", "text/plain"},
{"vssettings", "text/xml"},
{"vssscc", "text/plain"},
{"vst", "application/vnd.visio"},
{"vstemplate", "text/xml"},
{"vsto", "application/x-ms-vsto"},
{"vsw", "application/vnd.visio"},
{"vsx", "application/vnd.visio"},
{"vtx", "application/vnd.visio"},
{"wav", "audio/wav"},
{"wave", "audio/wav"},
{"wax", "audio/x-ms-wax"},
{"wbk", "application/msword"},
{"wbmp", "image/vnd.wap.wbmp"},
{"wcm", "application/vnd.ms-works"},
{"wdb", "application/vnd.ms-works"},
{"wdp", "image/vnd.ms-photo"},
{"webarchive", "application/x-safari-webarchive"},
{"webtest", "application/xml"},
{"wiq", "application/xml"},
{"wiz", "application/msword"},
{"wks", "application/vnd.ms-works"},
{"WLMP", "application/wlmoviemaker"},
{"wlpginstall", "application/x-wlpg-detect"},
{"wlpginstall3", "application/x-wlpg3-detect"},
{"wm", "video/x-ms-wm"},
{"wma", "audio/x-ms-wma"},
{"wmd", "application/x-ms-wmd"},
{"wmf", "application/x-msmetafile"},
{"wml", "text/vnd.wap.wml"},
{"wmlc", "application/vnd.wap.wmlc"},
{"wmls", "text/vnd.wap.wmlscript"},
{"wmlsc", "application/vnd.wap.wmlscriptc"},
{"wmp", "video/x-ms-wmp"},
{"wmv", "video/x-ms-wmv"},
{"wmx", "video/x-ms-wmx"},
{"wmz", "application/x-ms-wmz"},
{"wpl", "application/vnd.ms-wpl"},
{"wps", "application/vnd.ms-works"},
{"wri", "application/x-mswrite"},
{"wrl", "x-world/x-vrml"},
{"wrz", "x-world/x-vrml"},
{"wsc", "text/scriptlet"},
{"wsdl", "text/xml"},
{"wvx", "video/x-ms-wvx"},
{"x", "application/directx"},
{"xaf", "x-world/x-vrml"},
{"xaml", "application/xaml+xml"},
{"xap", "application/x-silverlight-app"},
{"xbap", "application/x-ms-xbap"},
{"xbm", "image/x-xbitmap"},
{"xdr", "text/plain"},
{"xht", "application/xhtml+xml"},
{"xhtml", "application/xhtml+xml"},
{"xla", "application/vnd.ms-excel"},
{"xlam", "application/vnd.ms-excel.addin.macroEnabled.12"},
{"xlc", "application/vnd.ms-excel"},
{"xld", "application/vnd.ms-excel"},
{"xlk", "application/vnd.ms-excel"},
{"xll", "application/vnd.ms-excel"},
{"xlm", "application/vnd.ms-excel"},
{"xls", "application/vnd.ms-excel"},
{"xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12"},
{"xlsm", "application/vnd.ms-excel.sheet.macroEnabled.12"},
{"xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},
{"xlt", "application/vnd.ms-excel"},
{"xltm", "application/vnd.ms-excel.template.macroEnabled.12"},
{"xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template"},
{"xlw", "application/vnd.ms-excel"},
{"xml", "text/xml"},
{"xmta", "application/xml"},
{"xof", "x-world/x-vrml"},
{"XOML", "text/plain"},
{"xpm", "image/x-xpixmap"},
{"xps", "application/vnd.ms-xpsdocument"},
{"xrm-ms", "text/xml"},
{"xsc", "application/xml"},
{"xsd", "text/xml"},
{"xsf", "text/xml"},
{"xsl", "text/xml"},
{"xslt", "text/xml"},
{"xsn", "application/octet-stream"},
{"xss", "application/xml"},
{"xtp", "application/octet-stream"},
{"xwd", "image/x-xwindowdump"},
{"z", "application/x-compress"},
{"zip", "application/x-zip-compressed"}
}
Upvotes: 4
Reputation: 113
did you try this?
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".syx" mimeType="application/octet-stream" />
<mimeMap fileExtension=".tab" mimeType="text/plain" />
</staticContent>
</system.webServer>
</configuration>
http://www.iis.net/configreference/system.webserver/staticcontent/mimemap
Upvotes: 3