首页 / C#开发 / 正文

C#/.NET应用程序编程开发中如何根据一个文件的扩展名获取对应的MIME类型?

1900 发布于: 2019-06-19 读完约需65分钟

问题描述

在C#/.NET应用程序编程开发中,如何根据一个文件的扩展名获取对应的MIME类型?比如类似如下的对应关系:

扩展名 MIME类型
.exe application/octet-stream
.gif image/gif
.html text/html
.ico image/x-icon

方案一

如果是.NET Framework >= 4.5 ,则可以使用System.Web.MimeMapping.GetMimeMapping()方法,这里.NET Framework 4.5内置的方法,使用如下:

string mimeType = MimeMapping.GetMimeMapping(fileName);

方案二

自定义封装一个扩展名转换为对应MIME类型的方法,如下:

private static IDictionary<string, string> _mappings = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase) 
{
    #region MIME类型字典
    {".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"},
    #endregion

};

public static string GetMimeType(string extension)
{
    if (extension == null)
    {
        throw new ArgumentNullException("extension");
    }

    if (!extension.StartsWith("."))
    {
        extension = "." + extension;
    }

    string mime;

    return _mappings.TryGetValue(extension, out mime) ? mime : "application/octet-stream";
}

方案三

从Windows操作系统的注册表中获取,如下:

private string GetMimeType (string fileName)
{
    string mimeType = "application/unknown";
    string ext = System.IO.Path.GetExtension(fileName).ToLower();
    Microsoft.Win32.RegistryKey regKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(ext);
    if (regKey != null && regKey.GetValue("Content Type") != null)
    mimeType = regKey.GetValue("Content Type").ToString();
    return mimeType;
}

温馨提示:本文标注有(完整示例)的示例代码可以直接粘贴在try.dot.net中运行。

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: C#/.NET应用程序编程开发中如何使用反射(reflection)调用类的私有方法?

下一篇: C#/.NET应用程序编程开发中如何使用反射设置对象的属性值?

本文永久链接码友网 » C#/.NET应用程序编程开发中如何根据一个文件的扩展名获取对应的MIME类型?

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册