这种方法在受到.NET版本和访问注册表权限时,是最佳解决方案,虽然代码看起来很多,不过下面的类直接拿走用就可以了。

public class FileContentType

 {
     private static IDictionary<stringstring> _mappings = new Dictionary<string,string>(StringComparer.InvariantCultureIgnoreCase) {
 
     #region Big freaking list of mime types
     // combination of values from Windows 7 Registry and
     // from C:\Windows\System32\inetsrv\config\applicationHost.config
     // some added, including .7z and .dat
     {".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"},
     {".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";
     }
 }
posted @ 2016-04-18 10:58  赤狐(zcm123)  阅读(263)  评论(0编辑  收藏  举报