Home » C# » How to Create MIME Types Custom Class in C#

How to Create MIME Types Custom Class in C#


This post explains, how to create a custom class and methods to get MIME type by file name or extension and vice-versa. MediaTypeNames class is also available that exists in System.Net.Mime namespace but the listed mime types or extensions are very limited. But I have mentioned more than 1300 MIME Types in the mapping list.

Steps to Create Mime Type Custom Class

  • Create a Static class called MimeType (.cs file)
  • give a unique name for the namespace as well.
  • declare a read-only dictionary field that contains the list of all MIME types.
  • Create two public static methods:
    • 1) GetMimeType(): to get MIME type by file name or extension
    • 2) GetExtension(): to get file extension by mime type

Mime Type Class – full C# code

Simply copy & paste the entire code in MimeType.cs file, given below.

code usage & output – example
create-mime-type-custom-class-c-dot-net


Full code

namespace Utility
{
public static class MimeType
{
private const string Dot = ".";
private static readonly Lazy<IDictionary<string, string>> _mappings = new Lazy<IDictionary<string, string>>
(() => new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)
{
#region 
[".123"] = "application/vnd.lotus-1-2-3",
[".323"] = "text/h323",
[".3dml"] = "text/vnd.in3d.3dml",
[".3ds"] = "image/x-3ds",
[".3g2"] = "video/3gpp2",
[".3gp"] = "video/3gpp",
[".3gp2"] = "video/3gpp2",
[".3gpp"] = "video/3gpp",
[".7z"] = "application/x-7z-compressed",
[".aa"] = "audio/audible",
[".aab"] = "application/x-authorware-bin",
[".aac"] = "audio/x-aac",
[".AAC"] = "audio/aac",
[".aaf"] = "application/octet-stream",
[".aam"] = "application/x-authorware-map",
[".aas"] = "application/x-authorware-seg",
[".aax"] = "audio/vnd.audible.aax",
[".abw"] = "application/x-abiword",
[".ac"] = "application/pkix-attr-cert",
[".ac3"] = "audio/ac3",
[".aca"] = "application/octet-stream",
[".acc"] = "application/vnd.americandynamics.acc",
[".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",
[".ace"] = "application/x-ace-compressed",
[".acu"] = "application/vnd.acucobol",
[".acutc"] = "application/vnd.acucorp",
[".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",
[".aep"] = "application/vnd.audiograph",
[".afm"] = "application/octet-stream",
[".afp"] = "application/vnd.ibm.modcap",
[".ahead"] = "application/vnd.ahead.space",
[".ai"] = "application/postscript",
[".aif"] = "audio/aiff",
[".aifc"] = "audio/aiff",
[".aiff"] = "audio/aiff",
[".air"] = "application/vnd.adobe.air-application-installer-package+zip",
[".ait"] = "application/vnd.dvb.ait",
[".amc"] = "application/mpeg",
[".ami"] = "application/vnd.amiga.ami",
[".anx"] = "application/annodex",
[".apk"] = "application/vnd.android.package-archive",
[".apng"] = "image/apng",
[".appcache"] = "text/cache-manifest",
[".application"] = "application/x-ms-application",
[".apr"] = "application/vnd.lotus-approach",
[".arc"] = "application/x-freearc",
[".art"] = "image/x-jg",
[".asa"] = "application/xml",
[".asax"] = "application/xml",
[".asc"] = "application/pgp-signature",
[".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",
[".aso"] = "application/vnd.accpac.simply.aso",
[".aspx"] = "application/xml",
[".asr"] = "video/x-ms-asf",
[".asx"] = "video/x-ms-asf",
[".atc"] = "application/vnd.acucorp",
[".atom"] = "application/atom+xml",
[".atomcat"] = "application/atomcat+xml",
[".atomsvc"] = "application/atomsvc+xml",
[".atx"] = "application/vnd.antix.game-component",
[".au"] = "audio/basic",
[".avci"] = "image/avci",
[".avcs"] = "image/avcs",
[".avi"] = "video/x-msvideo",
[".avif"] = "image/avif",
[".avifs"] = "image/avif-sequence",
[".aw"] = "application/applixware",
[".axa"] = "audio/annodex",
[".axs"] = "application/olescript",
[".axv"] = "video/annodex",
[".azf"] = "application/vnd.airzip.filesecure.azf",
[".azs"] = "application/vnd.airzip.filesecure.azs",
[".azw"] = "application/vnd.amazon.ebook",
[".bas"] = "text/plain",
[".bat"] = "application/x-msdownload",
[".bcpio"] = "application/x-bcpio",
[".bdf"] = "application/x-font-bdf",
[".bdm"] = "application/vnd.syncml.dm+wbxml",
[".bed"] = "application/vnd.realvnc.bed",
[".bh2"] = "application/vnd.fujitsu.oasysprs",
[".bin"] = "application/octet-stream",
[".blb"] = "application/x-blorb",
[".blorb"] = "application/x-blorb",
[".bmi"] = "application/vnd.bmi",
[".bmp"] = "image/bmp",
[".book"] = "application/vnd.framemaker",
[".box"] = "application/vnd.previewsystems.box",
[".boz"] = "application/x-bzip2",
[".bpk"] = "application/octet-stream",
[".btif"] = "image/prs.btif",
[".bz"] = "application/x-bzip",
[".bz2"] = "application/x-bzip2",
[".c"] = "text/plain",
[".c11amc"] = "application/vnd.cluetrust.cartomobile-config",
[".c11amz"] = "application/vnd.cluetrust.cartomobile-config-pkg",
[".c4d"] = "application/vnd.clonk.c4group",
[".c4f"] = "application/vnd.clonk.c4group",
[".c4g"] = "application/vnd.clonk.c4group",
[".c4p"] = "application/vnd.clonk.c4group",
[".c4u"] = "application/vnd.clonk.c4group",
[".cab"] = "application/octet-stream",
[".caf"] = "audio/x-caf",
[".calx"] = "application/vnd.ms-office.calx",
[".cap"] = "application/vnd.tcpdump.pcap",
[".car"] = "application/vnd.curl.car",
[".cat"] = "application/vnd.ms-pki.seccat",
[".cb7"] = "application/x-cbr",
[".cba"] = "application/x-cbr",
[".cbr"] = "application/x-cbr",
[".cbt"] = "application/x-cbr",
[".cbz"] = "application/x-cbr",
[".cc"] = "text/plain",
[".cct"] = "application/x-director",
[".ccxml"] = "application/ccxml+xml",
[".cd"] = "text/plain",
[".cdbcmsg"] = "application/vnd.contact.cmsg",
[".cdda"] = "audio/aiff",
[".cdf"] = "application/x-cdf",
[".cdkey"] = "application/vnd.mediastation.cdkey",
[".cdmia"] = "application/cdmi-capability",
[".cdmic"] = "application/cdmi-container",
[".cdmid"] = "application/cdmi-domain",
[".cdmio"] = "application/cdmi-object",
[".cdmiq"] = "application/cdmi-queue",
[".cdx"] = "chemical/x-cdx",
[".cdxml"] = "application/vnd.chemdraw+xml",
[".cdy"] = "application/vnd.cinderella",
[".cer"] = "application/x-x509-ca-cert",
[".cfg"] = "text/plain",
[".cfs"] = "application/x-cfs-compressed",
[".cgm"] = "image/cgm",
[".chat"] = "application/x-chat",
[".chm"] = "application/octet-stream",
[".chrt"] = "application/vnd.kde.kchart",
[".cif"] = "chemical/x-cif",
[".cii"] = "application/vnd.anser-web-certificate-issue-initiation",
[".cil"] = "application/vnd.ms-artgalry",
[".cla"] = "application/vnd.claymore",
[".class"] = "application/x-java-applet",
[".clkk"] = "application/vnd.crick.clicker.keyboard",
[".clkp"] = "application/vnd.crick.clicker.palette",
[".clkt"] = "application/vnd.crick.clicker.template",
[".clkw"] = "application/vnd.crick.clicker.wordbank",
[".clkx"] = "application/vnd.crick.clicker",
[".clp"] = "application/x-msclip",
[".cmc"] = "application/vnd.cosmocaller",
[".cmd"] = "text/plain",
[".cmdf"] = "chemical/x-cmdf",
[".cml"] = "chemical/x-cml",
[".cmp"] = "application/vnd.yellowriver-custom-menu",
[".cmx"] = "image/x-cmx",
[".cnf"] = "text/plain",
[".cod"] = "image/cis-cod",
[".com"] = "application/x-msdownload",
[".conf"] = "text/plain",
[".config"] = "application/xml",
[".contact"] = "text/x-ms-contact",
[".coverage"] = "application/xml",
[".cpio"] = "application/x-cpio",
[".cpp"] = "text/plain",
[".cpt"] = "application/mac-compactpro",
[".crd"] = "application/x-mscardfile",
[".crl"] = "application/pkix-crl",
[".crt"] = "application/x-x509-ca-cert",
[".cryptonote"] = "application/vnd.rig.cryptonote",
[".cs"] = "text/plain",
[".csdproj"] = "text/plain",
[".csh"] = "application/x-csh",
[".csml"] = "chemical/x-csml",
[".csp"] = "application/vnd.commonspace",
[".csproj"] = "text/plain",
[".css"] = "text/css",
[".cst"] = "application/x-director",
[".csv"] = "text/csv",
[".cu"] = "application/cu-seeme",
[".cur"] = "application/octet-stream",
[".curl"] = "text/vnd.curl",
[".cww"] = "application/prs.cww",
[".cxt"] = "application/x-director",
[".cxx"] = "text/plain",
[".czx"] = "application/x-czx",
[".dae"] = "model/vnd.collada+xml",
[".daf"] = "application/vnd.mobius.daf",
[".dart"] = "application/vnd.dart",
[".dat"] = "application/octet-stream",
[".dataless"] = "application/vnd.fdsn.seed",
[".datasource"] = "application/xml",
[".davmount"] = "application/davmount+xml",
[".dbk"] = "application/docbook+xml",
[".dbproj"] = "text/plain",
[".dcr"] = "application/x-director",
[".dcurl"] = "text/vnd.curl.dcurl",
[".dd2"] = "application/vnd.oma.dd2+xml",
[".ddd"] = "application/vnd.fujixerox.ddd",
[".deb"] = "application/x-debian-package",
[".def"] = "text/plain",
[".deploy"] = "application/octet-stream",
[".der"] = "application/x-x509-ca-cert",
[".dfac"] = "application/vnd.dreamfactory",
[".dgc"] = "application/x-dgc-compressed",
[".dgml"] = "application/xml",
[".dib"] = "image/bmp",
[".dic"] = "text/x-c",
[".dif"] = "video/x-dv",
[".dir"] = "application/x-director",
[".dis"] = "application/vnd.mobius.dis",
[".disco"] = "text/xml",
[".dist"] = "application/octet-stream",
[".distz"] = "application/octet-stream",
[".divx"] = "video/divx",
[".djv"] = "image/vnd.djvu",
[".djvu"] = "image/vnd.djvu",
[".dll"] = "application/x-msdownload",
[".dll.config"] = "text/xml",
[".dlm"] = "text/dlm",
[".dmg"] = "application/x-apple-diskimage",
[".dmp"] = "application/vnd.tcpdump.pcap",
[".dms"] = "application/octet-stream",
[".dna"] = "application/vnd.dna",
[".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",
[".dp"] = "application/vnd.osgi.dp",
[".dpg"] = "application/vnd.dpgraph",
[".dra"] = "audio/vnd.dra",
[".dsc"] = "text/prs.lines.tag",
[".dsp"] = "application/octet-stream",
[".dssc"] = "application/dssc+der",
[".dsw"] = "text/plain",
[".dtb"] = "application/x-dtbook+xml",
[".dtd"] = "text/xml",
[".dts"] = "audio/vnd.dts",
[".dtsConfig"] = "text/xml",
[".dtshd"] = "audio/vnd.dts.hd",
[".dump"] = "application/octet-stream",
[".dv"] = "video/x-dv",
[".dvb"] = "video/vnd.dvb.file",
[".dvi"] = "application/x-dvi",
[".dwf"] = "drawing/x-dwf",
[".dwg"] = "application/acad",
[".dwp"] = "application/octet-stream",
[".dxf"] = "application/x-dxf",
[".dxp"] = "application/vnd.spotfire.dxp",
[".dxr"] = "application/x-director",
[".ecelp4800"] = "audio/vnd.nuera.ecelp4800",
[".ecelp7470"] = "audio/vnd.nuera.ecelp7470",
[".ecelp9600"] = "audio/vnd.nuera.ecelp9600",
[".ecma"] = "application/ecmascript",
[".edm"] = "application/vnd.novadigm.edm",
[".edx"] = "application/vnd.novadigm.edx",
[".efif"] = "application/vnd.picsel",
[".ei6"] = "application/vnd.pg.osasli",
[".elc"] = "application/octet-stream",
[".emf"] = "image/emf",
[".eml"] = "message/rfc822",
[".emma"] = "application/emma+xml",
[".emz"] = "application/octet-stream",
[".eol"] = "audio/vnd.digital-winds",
[".eot"] = "application/vnd.ms-fontobject",
[".eps"] = "application/postscript",
[".epub"] = "application/epub+zip",
[".es"] = "application/ecmascript",
[".es3"] = "application/vnd.eszigno3+xml",
[".esa"] = "application/vnd.osgi.subsystem",
[".esf"] = "application/vnd.epson.esf",
[".et3"] = "application/vnd.eszigno3+xml",
[".etl"] = "application/etl",
[".etx"] = "text/x-setext",
[".eva"] = "application/x-eva",
[".evy"] = "application/envoy",
[".exe"] = "application/vnd.microsoft.portable-executable",
[".exe.config"] = "text/xml",
[".exi"] = "application/exi",
[".ext"] = "application/vnd.novadigm.ext",
[".ez"] = "application/andrew-inset",
[".ez2"] = "application/vnd.ezpix-album",
[".ez3"] = "application/vnd.ezpix-package",
[".f"] = "text/x-fortran",
[".f4v"] = "video/mp4",
[".f77"] = "text/x-fortran",
[".f90"] = "text/x-fortran",
[".fbs"] = "image/vnd.fastbidsheet",
[".fcdt"] = "application/vnd.adobe.formscentral.fcdt",
[".fcs"] = "application/vnd.isac.fcs",
[".fdf"] = "application/vnd.fdf",
[".fe_launch"] = "application/vnd.denovo.fcselayout-link",
[".fg5"] = "application/vnd.fujitsu.oasysgp",
[".fgd"] = "application/x-director",
[".fh"] = "image/x-freehand",
[".fh4"] = "image/x-freehand",
[".fh5"] = "image/x-freehand",
[".fh7"] = "image/x-freehand",
[".fhc"] = "image/x-freehand",
[".fif"] = "application/fractals",
[".fig"] = "application/x-xfig",
[".filters"] = "application/xml",
[".fla"] = "application/octet-stream",
[".flac"] = "audio/flac",
[".fli"] = "video/x-fli",
[".flo"] = "application/vnd.micrografx.flo",
[".flr"] = "x-world/x-vrml",
[".flv"] = "video/x-flv",
[".flw"] = "application/vnd.kde.kivio",
[".flx"] = "text/vnd.fmi.flexstor",
[".fly"] = "text/vnd.fly",
[".fm"] = "application/vnd.framemaker",
[".fnc"] = "application/vnd.frogans.fnc",
[".for"] = "text/x-fortran",
[".fpx"] = "image/vnd.fpx",
[".frame"] = "application/vnd.framemaker",
[".fsc"] = "application/vnd.fsc.weblaunch",
[".fsscript"] = "application/fsharp-script",
[".fst"] = "image/vnd.fst",
[".fsx"] = "application/fsharp-script",
[".ftc"] = "application/vnd.fluxtime.clip",
[".fti"] = "application/vnd.anser-web-funds-transfer-initiation",
[".fvt"] = "video/vnd.fvt",
[".fxp"] = "application/vnd.adobe.fxp",
[".fxpl"] = "application/vnd.adobe.fxp",
[".fzs"] = "application/vnd.fuzzysheet",
[".g2w"] = "application/vnd.geoplan",
[".g3"] = "image/g3fax",
[".g3w"] = "application/vnd.geospace",
[".gac"] = "application/vnd.groove-account",
[".gam"] = "application/x-tads",
[".gbr"] = "application/rpki-ghostbusters",
[".gca"] = "application/x-gca-compressed",
[".gdl"] = "model/vnd.gdl",
[".generictest"] = "application/xml",
[".geo"] = "application/vnd.dynageo",
[".geojson"] = "application/geo+json",
[".gex"] = "application/vnd.geometry-explorer",
[".ggb"] = "application/vnd.geogebra.file",
[".ggt"] = "application/vnd.geogebra.tool",
[".ghf"] = "application/vnd.groove-help",
[".gif"] = "image/gif",
[".gim"] = "application/vnd.groove-identity-message",
[".gml"] = "application/gml+xml",
[".gmx"] = "application/vnd.gmx",
[".gnumeric"] = "application/x-gnumeric",
[".gph"] = "application/vnd.flographit",
[".gpx"] = "application/gpx+xml",
[".gqf"] = "application/vnd.grafeq",
[".gqs"] = "application/vnd.grafeq",
[".gram"] = "application/srgs",
[".gramps"] = "application/x-gramps-xml",
[".gre"] = "application/vnd.geometry-explorer",
[".group"] = "text/x-ms-group",
[".grv"] = "application/vnd.groove-injector",
[".grxml"] = "application/srgs+xml",
[".gsf"] = "application/x-font-ghostscript",
[".gsm"] = "audio/x-gsm",
[".gtar"] = "application/x-gtar",
[".gtm"] = "application/vnd.groove-tool-message",
[".gtw"] = "model/vnd.gtw",
[".gv"] = "text/vnd.graphviz",
[".gxf"] = "application/gxf",
[".gxt"] = "application/vnd.geonext",
[".gz"] = "application/x-gzip",
[".h"] = "text/plain",
[".h261"] = "video/h261",
[".h263"] = "video/h263",
[".h264"] = "video/h264",
[".hal"] = "application/vnd.hal+xml",
[".hbci"] = "application/vnd.hbci",
[".hdf"] = "application/x-hdf",
[".hdml"] = "text/x-hdml",
[".heic"] = "image/heic",
[".heics"] = "image/heic-sequence",
[".heif"] = "image/heif",
[".heifs"] = "image/heif-sequence",
[".hh"] = "text/x-c",
[".hhc"] = "application/x-oleobject",
[".hhk"] = "application/octet-stream",
[".hhp"] = "application/octet-stream",
[".hlp"] = "application/winhlp",
[".hpgl"] = "application/vnd.hp-hpgl",
[".hpid"] = "application/vnd.hp-hpid",
[".hpp"] = "text/plain",
[".hps"] = "application/vnd.hp-hps",
[".hqx"] = "application/mac-binhex40",
[".hta"] = "application/hta",
[".htc"] = "text/x-component",
[".htke"] = "application/vnd.kenameaapp",
[".htm"] = "text/html",
[".html"] = "text/html",
[".htt"] = "text/webviewhtml",
[".hvd"] = "application/vnd.yamaha.hv-dic",
[".hvp"] = "application/vnd.yamaha.hv-voice",
[".hvs"] = "application/vnd.yamaha.hv-script",
[".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",
[".i2g"] = "application/vnd.intergeo",
[".ical"] = "text/calendar",
[".icalendar"] = "text/calendar",
[".icc"] = "application/vnd.iccprofile",
[".ice"] = "x-conference/x-cooltalk",
[".icm"] = "application/vnd.iccprofile",
[".ico"] = "image/x-icon",
[".ics"] = "text/calendar",
[".idl"] = "text/plain",
[".ief"] = "image/ief",
[".ifb"] = "text/calendar",
[".ifm"] = "application/vnd.shana.informed.formdata",
[".iges"] = "model/iges",
[".igl"] = "application/vnd.igloader",
[".igm"] = "application/vnd.insors.igm",
[".igs"] = "model/iges",
[".igx"] = "application/vnd.micrografx.igx",
[".iif"] = "application/vnd.shana.informed.interchange",
[".iii"] = "application/x-iphone",
[".imp"] = "application/vnd.accpac.simply.imp",
[".ims"] = "application/vnd.ms-ims",
[".in"] = "text/plain",
[".inc"] = "text/plain",
[".inf"] = "application/octet-stream",
[".ini"] = "text/plain",
[".ink"] = "application/inkml+xml",
[".inkml"] = "application/inkml+xml",
[".inl"] = "text/plain",
[".ins"] = "application/x-internet-signup",
[".install"] = "application/x-install-instructions",
[".iota"] = "application/vnd.astraea-software.iota",
[".ipa"] = "application/x-itunes-ipa",
[".ipfix"] = "application/ipfix",
[".ipg"] = "application/x-itunes-ipg",
[".ipk"] = "application/vnd.shana.informed.package",
[".ipproj"] = "text/plain",
[".ipsw"] = "application/x-itunes-ipsw",
[".iqy"] = "text/x-ms-iqy",
[".irm"] = "application/vnd.ibm.rights-management",
[".irp"] = "application/vnd.irepository.package+xml",
[".isma"] = "application/octet-stream",
[".ismv"] = "application/octet-stream",
[".iso"] = "application/x-iso9660-image",
[".isp"] = "application/x-internet-signup",
[".ite"] = "application/x-itunes-ite",
[".itlp"] = "application/x-itunes-itlp",
[".itms"] = "application/x-itunes-itms",
[".itp"] = "application/vnd.shana.informed.formtemplate",
[".itpc"] = "application/x-itunes-itpc",
[".IVF"] = "video/x-ivf",
[".ivp"] = "application/vnd.immervision-ivp",
[".ivu"] = "application/vnd.immervision-ivu",
[".jad"] = "text/vnd.sun.j2me.app-descriptor",
[".jam"] = "application/vnd.jam",
[".jar"] = "application/java-archive",
[".java"] = "application/octet-stream",
[".jck"] = "application/liquidmotion",
[".jcz"] = "application/liquidmotion",
[".jfif"] = "image/pjpeg",
[".jisp"] = "application/vnd.jisp",
[".jlt"] = "application/vnd.hp-jlyt",
[".jnlp"] = "application/x-java-jnlp-file",
[".joda"] = "application/vnd.joost.joda-archive",
[".jpb"] = "application/octet-stream",
[".jpe"] = "image/jpeg",
[".jpeg"] = "image/jpeg",
[".jpg"] = "image/jpeg",
[".jpgm"] = "video/jpm",
[".jpgv"] = "video/jpeg",
[".jpm"] = "video/jpm",
[".js"] = "application/javascript",
[".json"] = "application/json",
[".jsonml"] = "application/jsonml+json",
[".jsx"] = "text/jscript",
[".jsxbin"] = "text/plain",
[".kar"] = "audio/midi",
[".karbon"] = "application/vnd.kde.karbon",
[".key"] = "application/vnd.apple.keynote",
[".kfo"] = "application/vnd.kde.kformula",
[".kia"] = "application/vnd.kidspiration",
[".kml"] = "application/vnd.google-earth.kml+xml",
[".kmz"] = "application/vnd.google-earth.kmz",
[".kne"] = "application/vnd.kinar",
[".knp"] = "application/vnd.kinar",
[".kon"] = "application/vnd.kde.kontour",
[".kpr"] = "application/vnd.kde.kpresenter",
[".kpt"] = "application/vnd.kde.kpresenter",
[".kpxx"] = "application/vnd.ds-keypoint",
[".ksp"] = "application/vnd.kde.kspread",
[".ktr"] = "application/vnd.kahootz",
[".ktx"] = "image/ktx",
[".ktz"] = "application/vnd.kahootz",
[".kwd"] = "application/vnd.kde.kword",
[".kwt"] = "application/vnd.kde.kword",
[".lasxml"] = "application/vnd.las.las+xml",
[".latex"] = "application/x-latex",
[".lbd"] = "application/vnd.llamagraphics.life-balance.desktop",
[".lbe"] = "application/vnd.llamagraphics.life-balance.exchange+xml",
[".les"] = "application/vnd.hhe.lesson-player",
[".lha"] = "application/x-lzh-compressed",
[".library-ms"] = "application/windows-library+xml",
[".link66"] = "application/vnd.route66.link66+xml",
[".list"] = "text/plain",
[".list3820"] = "application/vnd.ibm.modcap",
[".listafp"] = "application/vnd.ibm.modcap",
[".lit"] = "application/x-ms-reader",
[".lnk"] = "application/x-ms-shortcut",
[".loadtest"] = "application/xml",
[".log"] = "text/plain",
[".lostxml"] = "application/lost+xml",
[".lpk"] = "application/octet-stream",
[".lrf"] = "application/octet-stream",
[".lrm"] = "application/vnd.ms-lrm",
[".lsf"] = "video/x-la-asf",
[".lst"] = "text/plain",
[".lsx"] = "video/x-la-asf",
[".ltf"] = "application/vnd.frogans.ltf",
[".lvp"] = "audio/vnd.lucent.voice",
[".lwp"] = "application/vnd.lotus-wordpro",
[".lzh"] = "application/octet-stream",
[".m13"] = "application/x-msmediaview",
[".m14"] = "application/x-msmediaview",
[".m1v"] = "video/mpeg",
[".m21"] = "application/mp21",
[".m2a"] = "audio/mpeg",
[".m2t"] = "video/vnd.dlna.mpeg-tts",
[".m2ts"] = "video/vnd.dlna.mpeg-tts",
[".m2v"] = "video/mpeg",
[".m3a"] = "audio/mpeg",
[".m3u"] = "audio/x-mpegurl",
[".m3u8"] = "audio/x-mpegurl",
[".m4a"] = "audio/m4a",
[".m4b"] = "audio/m4b",
[".m4p"] = "audio/m4p",
[".m4r"] = "audio/x-m4r",
[".m4u"] = "video/vnd.mpegurl",
[".m4v"] = "video/x-m4v",
[".ma"] = "application/mathematica",
[".mac"] = "image/x-macpaint",
[".mads"] = "application/mads+xml",
[".mag"] = "application/vnd.ecowin.chart",
[".mak"] = "text/plain",
[".maker"] = "application/vnd.framemaker",
[".man"] = "application/x-troff-man",
[".manifest"] = "application/x-ms-manifest",
[".map"] = "text/plain",
[".mar"] = "application/octet-stream",
[".master"] = "application/xml",
[".mathml"] = "application/mathml+xml",
[".mb"] = "application/mathematica",
[".mbk"] = "application/vnd.mobius.mbk",
[".mbox"] = "application/mbox",
[".mc1"] = "application/vnd.medcalcdata",
[".mcd"] = "application/vnd.mcd",
[".mcurl"] = "text/vnd.curl.mcurl",
[".mda"] = "application/msaccess",
[".mdb"] = "application/x-msaccess",
[".mde"] = "application/msaccess",
[".mdi"] = "image/vnd.ms-modi",
[".mdp"] = "application/octet-stream",
[".me"] = "application/x-troff-me",
[".mesh"] = "model/mesh",
[".meta4"] = "application/metalink4+xml",
[".metalink"] = "application/metalink+xml",
[".mets"] = "application/mets+xml",
[".mfm"] = "application/vnd.mfmp",
[".mfp"] = "application/x-shockwave-flash",
[".mft"] = "application/rpki-manifest",
[".mgp"] = "application/vnd.osgeo.mapguide.package",
[".mgz"] = "application/vnd.proteus.magazine",
[".mht"] = "message/rfc822",
[".mhtml"] = "message/rfc822",
[".mid"] = "audio/mid",
[".midi"] = "audio/mid",
[".mie"] = "application/x-mie",
[".mif"] = "application/vnd.mif",
[".mime"] = "message/rfc822",
[".mix"] = "application/octet-stream",
[".mj2"] = "video/mj2",
[".mjp2"] = "video/mj2",
[".mk"] = "text/plain",
[".mk3d"] = "video/x-matroska-3d",
[".mka"] = "audio/x-matroska",
[".mks"] = "video/x-matroska",
[".mkv"] = "video/x-matroska",
[".mlp"] = "application/vnd.dolby.mlp",
[".mmd"] = "application/vnd.chipnuts.karaoke-mmd",
[".mmf"] = "application/x-smaf",
[".mmr"] = "image/vnd.fujixerox.edmics-mmr",
[".mng"] = "video/x-mng",
[".mno"] = "text/xml",
[".mny"] = "application/x-msmoney",
[".mobi"] = "application/x-mobipocket-ebook",
[".mod"] = "video/mpeg",
[".mods"] = "application/mods+xml",
[".mov"] = "video/quicktime",
[".movie"] = "video/x-sgi-movie",
[".mp2"] = "video/mpeg",
[".mp21"] = "application/mp21",
[".mp2a"] = "audio/mpeg",
[".mp2v"] = "video/mpeg",
[".mp3"] = "audio/mpeg",
[".mp4"] = "video/mp4",
[".mp4a"] = "audio/mp4",
[".mp4s"] = "application/mp4",
[".mp4v"] = "video/mp4",
[".mpa"] = "video/mpeg",
[".mpc"] = "application/vnd.mophun.certificate",
[".mpe"] = "video/mpeg",
[".mpeg"] = "video/mpeg",
[".mpf"] = "application/vnd.ms-mediapackage",
[".mpg"] = "video/mpeg",
[".mpg4"] = "video/mp4",
[".mpga"] = "audio/mpeg",
[".mpkg"] = "application/vnd.apple.installer+xml",
[".mpm"] = "application/vnd.blueice.multipass",
[".mpn"] = "application/vnd.mophun.application",
[".mpp"] = "application/vnd.ms-project",
[".mpt"] = "application/vnd.ms-project",
[".mpv2"] = "video/mpeg",
[".mpy"] = "application/vnd.ibm.minipay",
[".mqv"] = "video/quicktime",
[".mqy"] = "application/vnd.mobius.mqy",
[".mrc"] = "application/marc",
[".mrcx"] = "application/marcxml+xml",
[".ms"] = "application/x-troff-ms",
[".mscml"] = "application/mediaservercontrol+xml",
[".mseed"] = "application/vnd.fdsn.mseed",
[".mseq"] = "application/vnd.mseq",
[".msf"] = "application/vnd.epson.msf",
[".msg"] = "application/vnd.ms-outlook",
[".msh"] = "model/mesh",
[".msi"] = "application/octet-stream",
[".msl"] = "application/vnd.mobius.msl",
[".mso"] = "application/octet-stream",
[".msty"] = "application/vnd.muvee.style",
[".mts"] = "video/vnd.dlna.mpeg-tts",
[".mtx"] = "application/xml",
[".mus"] = "application/vnd.musician",
[".musicxml"] = "application/vnd.recordare.musicxml+xml",
[".mvb"] = "application/x-msmediaview",
[".mvc"] = "application/x-miva-compiled",
[".mwf"] = "application/vnd.mfer",
[".mxf"] = "application/mxf",
[".mxl"] = "application/vnd.recordare.musicxml",
[".mxml"] = "application/xv+xml",
[".mxp"] = "application/x-mmxp",
[".mxs"] = "application/vnd.triscape.mxs",
[".mxu"] = "video/vnd.mpegurl",
[".n-gage"] = "application/vnd.nokia.n-gage.symbian.install",
[".n3"] = "text/n3",
[".nb"] = "application/mathematica",
[".nbp"] = "application/vnd.wolfram.player",
[".nc"] = "application/x-netcdf",
[".ncx"] = "application/x-dtbncx+xml",
[".nfo"] = "text/x-nfo",
[".ngdat"] = "application/vnd.nokia.n-gage.data",
[".nitf"] = "application/vnd.nitf",
[".nlu"] = "application/vnd.neurolanguage.nlu",
[".nml"] = "application/vnd.enliven",
[".nnd"] = "application/vnd.noblenet-directory",
[".nns"] = "application/vnd.noblenet-sealer",
[".nnw"] = "application/vnd.noblenet-web",
[".npx"] = "image/vnd.net-fpx",
[".nsc"] = "video/x-ms-asf",
[".nsf"] = "application/vnd.lotus-notes",
[".ntf"] = "application/vnd.nitf",
[".numbers"] = "application/vnd.apple.numbers",
[".nws"] = "message/rfc822",
[".nzb"] = "application/x-nzb",
[".oa2"] = "application/vnd.fujitsu.oasys2",
[".oa3"] = "application/vnd.fujitsu.oasys3",
[".oas"] = "application/vnd.fujitsu.oasys",
[".obd"] = "application/x-msbinder",
[".obj"] = "application/x-tgif",
[".ocx"] = "application/octet-stream",
[".oda"] = "application/oda",
[".odb"] = "application/vnd.oasis.opendocument.database",
[".odc"] = "application/vnd.oasis.opendocument.chart",
[".odf"] = "application/vnd.oasis.opendocument.formula",
[".odft"] = "application/vnd.oasis.opendocument.formula-template",
[".odg"] = "application/vnd.oasis.opendocument.graphics",
[".odh"] = "text/plain",
[".odi"] = "application/vnd.oasis.opendocument.image",
[".odl"] = "text/plain",
[".odm"] = "application/vnd.oasis.opendocument.text-master",
[".odp"] = "application/vnd.oasis.opendocument.presentation",
[".ods"] = "application/vnd.oasis.opendocument.spreadsheet",
[".odt"] = "application/vnd.oasis.opendocument.text",
[".oga"] = "audio/ogg",
[".ogg"] = "audio/ogg",
[".ogv"] = "video/ogg",
[".ogx"] = "application/ogg",
[".omdoc"] = "application/omdoc+xml",
[".one"] = "application/onenote",
[".onea"] = "application/onenote",
[".onepkg"] = "application/onenote",
[".onetmp"] = "application/onenote",
[".onetoc"] = "application/onenote",
[".onetoc2"] = "application/onenote",
[".opf"] = "application/oebps-package+xml",
[".opml"] = "text/x-opml",
[".oprc"] = "application/vnd.palm",
[".opus"] = "audio/ogg",
[".orderedtest"] = "application/xml",
[".org"] = "application/vnd.lotus-organizer",
[".osdx"] = "application/opensearchdescription+xml",
[".osf"] = "application/vnd.yamaha.openscoreformat",
[".osfpvg"] = "application/vnd.yamaha.openscoreformat.osfpvg+xml",
[".otc"] = "application/vnd.oasis.opendocument.chart-template",
[".otf"] = "application/font-sfnt",
[".otg"] = "application/vnd.oasis.opendocument.graphics-template",
[".oth"] = "application/vnd.oasis.opendocument.text-web",
[".oti"] = "application/vnd.oasis.opendocument.image-template",
[".otp"] = "application/vnd.oasis.opendocument.presentation-template",
[".ots"] = "application/vnd.oasis.opendocument.spreadsheet-template",
[".ott"] = "application/vnd.oasis.opendocument.text-template",
[".oxps"] = "application/oxps",
[".oxt"] = "application/vnd.openofficeorg.extension",
[".p"] = "text/x-pascal",
[".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",
[".p8"] = "application/pkcs8",
[".pages"] = "application/vnd.apple.pages",
[".pas"] = "text/x-pascal",
[".paw"] = "application/vnd.pawaafile",
[".pbd"] = "application/vnd.powerbuilder6",
[".pbm"] = "image/x-portable-bitmap",
[".pcap"] = "application/vnd.tcpdump.pcap",
[".pcast"] = "application/x-podcast",
[".pcf"] = "application/x-font-pcf",
[".pcl"] = "application/vnd.hp-pcl",
[".pclxl"] = "application/vnd.hp-pclxl",
[".pct"] = "image/pict",
[".pcurl"] = "application/vnd.curl.pcurl",
[".pcx"] = "application/octet-stream",
[".pcz"] = "application/octet-stream",
[".pdb"] = "application/vnd.palm",
[".pdf"] = "application/pdf",
[".pfa"] = "application/x-font-type1",
[".pfb"] = "application/octet-stream",
[".pfm"] = "application/octet-stream",
[".pfr"] = "application/font-tdpfr",
[".pfx"] = "application/x-pkcs12",
[".pgm"] = "image/x-portable-graymap",
[".pgn"] = "application/x-chess-pgn",
[".pgp"] = "application/pgp-encrypted",
[".pic"] = "image/pict",
[".pict"] = "image/pict",
[".pkg"] = "application/octet-stream",
[".pkgdef"] = "text/plain",
[".pkgundef"] = "text/plain",
[".pki"] = "application/pkixcmp",
[".pkipath"] = "application/pkix-pkipath",
[".pko"] = "application/vnd.ms-pki.pko",
[".plb"] = "application/vnd.3gpp.pic-bw-large",
[".plc"] = "application/vnd.mobius.plc",
[".plf"] = "application/vnd.pocketlearn",
[".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",
[".portpkg"] = "application/vnd.macports.portpkg",
[".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",
[".ppd"] = "application/vnd.cups-ppd",
[".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",
[".pqa"] = "application/vnd.palm",
[".prc"] = "application/x-mobipocket-ebook",
[".pre"] = "application/vnd.lotus-freelance",
[".prf"] = "application/pics-rules",
[".prm"] = "application/octet-stream",
[".prx"] = "application/octet-stream",
[".ps"] = "application/postscript",
[".psb"] = "application/vnd.3gpp.pic-bw-small",
[".psc1"] = "application/PowerShell",
[".psd"] = "application/octet-stream",
[".psess"] = "application/xml",
[".psf"] = "application/x-font-linux-psf",
[".pskcxml"] = "application/pskc+xml",
[".psm"] = "application/octet-stream",
[".psp"] = "application/octet-stream",
[".pst"] = "application/vnd.ms-outlook",
[".ptid"] = "application/vnd.pvi.ptid1",
[".pub"] = "application/x-mspublisher",
[".pvb"] = "application/vnd.3gpp.pic-bw-var",
[".pwn"] = "application/vnd.3m.post-it-notes",
[".pwz"] = "application/vnd.ms-powerpoint",
[".pya"] = "audio/vnd.ms-playready.media.pya",
[".pyv"] = "video/vnd.ms-playready.media.pyv",
[".qam"] = "application/vnd.epson.quickanime",
[".qbo"] = "application/vnd.intu.qbo",
[".qfx"] = "application/vnd.intu.qfx",
[".qht"] = "text/x-html-insertion",
[".qhtm"] = "text/x-html-insertion",
[".qps"] = "application/vnd.publishare-delta-tree",
[".qt"] = "video/quicktime",
[".qti"] = "image/x-quicktime",
[".qtif"] = "image/x-quicktime",
[".qtl"] = "application/x-quicktimeplayer",
[".qwd"] = "application/vnd.quark.quarkxpress",
[".qwt"] = "application/vnd.quark.quarkxpress",
[".qxb"] = "application/vnd.quark.quarkxpress",
[".qxd"] = "application/octet-stream",
[".qxl"] = "application/vnd.quark.quarkxpress",
[".qxt"] = "application/vnd.quark.quarkxpress",
[".ra"] = "audio/x-pn-realaudio",
[".ram"] = "audio/x-pn-realaudio",
[".rar"] = "application/x-rar-compressed",
[".ras"] = "image/x-cmu-raster",
[".rat"] = "application/rat-file",
[".rc"] = "text/plain",
[".rc2"] = "text/plain",
[".rcprofile"] = "application/vnd.ipunplugged.rcprofile",
[".rct"] = "text/plain",
[".rdf"] = "application/rdf+xml",
[".rdlc"] = "application/xml",
[".rdz"] = "application/vnd.data-vision.rdz",
[".reg"] = "text/plain",
[".rep"] = "application/vnd.businessobjects",
[".res"] = "application/x-dtbresource+xml",
[".resx"] = "application/xml",
[".rf"] = "image/vnd.rn-realflash",
[".rgb"] = "image/x-rgb",
[".rgs"] = "text/plain",
[".rif"] = "application/reginfo+xml",
[".rip"] = "audio/vnd.rip",
[".ris"] = "application/x-research-info-systems",
[".rl"] = "application/resource-lists+xml",
[".rlc"] = "image/vnd.fujixerox.edmics-rlc",
[".rld"] = "application/resource-lists-diff+xml",
[".rm"] = "application/vnd.rn-realmedia",
[".rmi"] = "audio/mid",
[".rmp"] = "application/vnd.rn-rn_music_package",
[".rms"] = "application/vnd.jcp.javame.midlet-rms",
[".rmvb"] = "application/vnd.rn-realmedia-vbr",
[".rnc"] = "application/relax-ng-compact-syntax",
[".roa"] = "application/rpki-roa",
[".roff"] = "application/x-troff",
[".rp9"] = "application/vnd.cloanto.rp9",
[".rpm"] = "audio/x-pn-realaudio-plugin",
[".rpss"] = "application/vnd.nokia.radio-presets",
[".rpst"] = "application/vnd.nokia.radio-preset",
[".rq"] = "application/sparql-query",
[".rqy"] = "text/x-ms-rqy",
[".rs"] = "application/rls-services+xml",
[".rsd"] = "application/rsd+xml",
[".rss"] = "application/rss+xml",
[".rtf"] = "application/rtf",
[".rtx"] = "text/richtext",
[".ruleset"] = "application/xml",
[".rvt"] = "application/octet-stream",
[".s"] = "text/plain",
[".s3m"] = "audio/s3m",
[".saf"] = "application/vnd.yamaha.smaf-audio",
[".safariextz"] = "application/x-safari-safariextz",
[".sbml"] = "application/sbml+xml",
[".sc"] = "application/vnd.ibm.secure-container",
[".scd"] = "application/x-msschedule",
[".scm"] = "application/vnd.lotus-screencam",
[".scq"] = "application/scvp-cv-request",
[".scr"] = "text/plain",
[".scs"] = "application/scvp-cv-response",
[".sct"] = "text/scriptlet",
[".scurl"] = "text/vnd.curl.scurl",
[".sd2"] = "audio/x-sd2",
[".sda"] = "application/vnd.stardivision.draw",
[".sdc"] = "application/vnd.stardivision.calc",
[".sdd"] = "application/vnd.stardivision.impress",
[".sdkd"] = "application/vnd.solent.sdkm+xml",
[".sdkm"] = "application/vnd.solent.sdkm+xml",
[".sdp"] = "application/sdp",
[".sdw"] = "application/vnd.stardivision.writer",
[".sea"] = "application/octet-stream",
[".searchConnector-ms"] = "application/windows-search-connector+xml",
[".see"] = "application/vnd.seemail",
[".seed"] = "application/vnd.fdsn.seed",
[".sema"] = "application/vnd.sema",
[".semd"] = "application/vnd.semd",
[".semf"] = "application/vnd.semf",
[".ser"] = "application/java-serialized-object",
[".setpay"] = "application/set-payment-initiation",
[".setreg"] = "application/set-registration-initiation",
[".settings"] = "application/xml",
[".sfd-hdstx"] = "application/vnd.hydrostatix.sof-data",
[".sfs"] = "application/vnd.spotfire.sfs",
[".sfv"] = "text/x-sfv",
[".sgi"] = "image/sgi",
[".sgimb"] = "application/x-sgimb",
[".sgl"] = "application/vnd.stardivision.writer-global",
[".sgm"] = "text/sgml",
[".sgml"] = "text/sgml",
[".sh"] = "application/x-sh",
[".shar"] = "application/x-shar",
[".shf"] = "application/shf+xml",
[".shtml"] = "text/html",
[".sid"] = "image/x-mrsid-image",
[".sig"] = "application/pgp-signature",
[".sil"] = "audio/silk",
[".silo"] = "model/mesh",
[".sis"] = "application/vnd.symbian.install",
[".sisx"] = "application/vnd.symbian.install",
[".sit"] = "application/x-stuffit",
[".sitemap"] = "application/xml",
[".sitx"] = "application/x-stuffitx",
[".skd"] = "application/vnd.koan",
[".skin"] = "application/xml",
[".skm"] = "application/vnd.koan",
[".skp"] = "application/x-koan",
[".skt"] = "application/vnd.koan",
[".sldm"] = "application/vnd.ms-powerpoint.slide.macroEnabled.12",
[".sldx"] = "application/vnd.openxmlformats-officedocument.presentationml.slide",
[".slk"] = "application/vnd.ms-excel",
[".sln"] = "text/plain",
[".slt"] = "application/vnd.epson.salt",
[".slupkg-ms"] = "application/x-ms-license",
[".sm"] = "application/vnd.stepmania.stepchart",
[".smd"] = "audio/x-smd",
[".smf"] = "application/vnd.stardivision.math",
[".smi"] = "application/octet-stream",
[".smil"] = "application/smil+xml",
[".smv"] = "video/x-smv",
[".smx"] = "audio/x-smd",
[".smz"] = "audio/x-smd",
[".smzip"] = "application/vnd.stepmania.package",
[".snd"] = "audio/basic",
[".snf"] = "application/x-font-snf",
[".snippet"] = "application/xml",
[".snp"] = "application/octet-stream",
[".so"] = "application/octet-stream",
[".sol"] = "text/plain",
[".sor"] = "text/plain",
[".spc"] = "application/x-pkcs7-certificates",
[".spf"] = "application/vnd.yamaha.smaf-phrase",
[".spl"] = "application/futuresplash",
[".spot"] = "text/vnd.in3d.spot",
[".spp"] = "application/scvp-vp-response",
[".spq"] = "application/scvp-vp-request",
[".spx"] = "audio/ogg",
[".sql"] = "application/sql",
[".src"] = "application/x-wais-source",
[".srf"] = "text/plain",
[".srt"] = "application/x-subrip",
[".sru"] = "application/sru+xml",
[".srx"] = "application/sparql-results+xml",
[".ssdl"] = "application/ssdl+xml",
[".sse"] = "application/vnd.kodak-descriptor",
[".ssf"] = "application/vnd.epson.ssf",
[".SSISDeploymentManifest"] = "text/xml",
[".ssm"] = "application/streamingmedia",
[".ssml"] = "application/ssml+xml",
[".sst"] = "application/vnd.ms-pki.certstore",
[".st"] = "application/vnd.sailingtracker.track",
[".stc"] = "application/vnd.sun.xml.calc.template",
[".std"] = "application/vnd.sun.xml.draw.template",
[".step"] = "application/step",
[".stf"] = "application/vnd.wt.stf",
[".sti"] = "application/vnd.sun.xml.impress.template",
[".stk"] = "application/hyperstudio",
[".stl"] = "application/vnd.ms-pki.stl",
[".stp"] = "application/step",
[".str"] = "application/vnd.pg.format",
[".stw"] = "application/vnd.sun.xml.writer.template",
[".sub"] = "image/vnd.dvb.subtitle",
[".sus"] = "application/vnd.sus-calendar",
[".susp"] = "application/vnd.sus-calendar",
[".sv4cpio"] = "application/x-sv4cpio",
[".sv4crc"] = "application/x-sv4crc",
[".svc"] = "application/xml",
[".svd"] = "application/vnd.svd",
[".svg"] = "image/svg+xml",
[".svgz"] = "image/svg+xml",
[".swa"] = "application/x-director",
[".swf"] = "application/x-shockwave-flash",
[".swi"] = "application/vnd.aristanetworks.swi",
[".sxc"] = "application/vnd.sun.xml.calc",
[".sxd"] = "application/vnd.sun.xml.draw",
[".sxg"] = "application/vnd.sun.xml.writer.global",
[".sxi"] = "application/vnd.sun.xml.impress",
[".sxm"] = "application/vnd.sun.xml.math",
[".sxw"] = "application/vnd.sun.xml.writer",
[".t"] = "application/x-troff",
[".t3"] = "application/x-t3vm-image",
[".taglet"] = "application/vnd.mynfc",
[".tao"] = "application/vnd.tao.intent-module-archive",
[".tar"] = "application/x-tar",
[".tcap"] = "application/vnd.3gpp2.tcap",
[".tcl"] = "application/x-tcl",
[".teacher"] = "application/vnd.smart.teacher",
[".tei"] = "application/tei+xml",
[".teicorpus"] = "application/tei+xml",
[".testrunconfig"] = "application/xml",
[".testsettings"] = "application/xml",
[".tex"] = "application/x-tex",
[".texi"] = "application/x-texinfo",
[".texinfo"] = "application/x-texinfo",
[".text"] = "text/plain",
[".tfi"] = "application/thraud+xml",
[".tfm"] = "application/x-tex-tfm",
[".tga"] = "image/x-tga",
[".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",
[".tmo"] = "application/vnd.tmobile-livetv",
[".toc"] = "application/octet-stream",
[".torrent"] = "application/x-bittorrent",
[".tpl"] = "application/vnd.groove-tool-template",
[".tpt"] = "application/vnd.trid.tpt",
[".tr"] = "application/x-troff",
[".tra"] = "application/vnd.trueapp",
[".trm"] = "application/x-msterminal",
[".trx"] = "application/xml",
[".ts"] = "video/vnd.dlna.mpeg-tts",
[".tsd"] = "application/timestamped-data",
[".tsv"] = "text/tab-separated-values",
[".ttc"] = "font/collection",
[".ttf"] = "application/font-sfnt",
[".ttl"] = "text/turtle",
[".tts"] = "video/vnd.dlna.mpeg-tts",
[".twd"] = "application/vnd.simtech-mindmapper",
[".twds"] = "application/vnd.simtech-mindmapper",
[".txd"] = "application/vnd.genomatix.tuxedo",
[".txf"] = "application/vnd.mobius.txf",
[".txt"] = "text/plain",
[".u32"] = "application/octet-stream",
[".udeb"] = "application/x-debian-package",
[".ufd"] = "application/vnd.ufdl",
[".ufdl"] = "application/vnd.ufdl",
[".uls"] = "text/iuls",
[".ulx"] = "application/x-glulx",
[".umj"] = "application/vnd.umajin",
[".unityweb"] = "application/vnd.unity",
[".uoml"] = "application/vnd.uoml+xml",
[".uri"] = "text/uri-list",
[".uris"] = "text/uri-list",
[".urls"] = "text/uri-list",
[".user"] = "text/plain",
[".ustar"] = "application/x-ustar",
[".utz"] = "application/vnd.uiq.theme",
[".uu"] = "text/x-uuencode",
[".uva"] = "audio/vnd.dece.audio",
[".uvd"] = "application/vnd.dece.data",
[".uvf"] = "application/vnd.dece.data",
[".uvg"] = "image/vnd.dece.graphic",
[".uvh"] = "video/vnd.dece.hd",
[".uvi"] = "image/vnd.dece.graphic",
[".uvm"] = "video/vnd.dece.mobile",
[".uvp"] = "video/vnd.dece.pd",
[".uvs"] = "video/vnd.dece.sd",
[".uvt"] = "application/vnd.dece.ttml+xml",
[".uvu"] = "video/vnd.uvvu.mp4",
[".uvv"] = "video/vnd.dece.video",
[".uvva"] = "audio/vnd.dece.audio",
[".uvvd"] = "application/vnd.dece.data",
[".uvvf"] = "application/vnd.dece.data",
[".uvvg"] = "image/vnd.dece.graphic",
[".uvvh"] = "video/vnd.dece.hd",
[".uvvi"] = "image/vnd.dece.graphic",
[".uvvm"] = "video/vnd.dece.mobile",
[".uvvp"] = "video/vnd.dece.pd",
[".uvvs"] = "video/vnd.dece.sd",
[".uvvt"] = "application/vnd.dece.ttml+xml",
[".uvvu"] = "video/vnd.uvvu.mp4",
[".uvvv"] = "video/vnd.dece.video",
[".uvvx"] = "application/vnd.dece.unspecified",
[".uvvz"] = "application/vnd.dece.zip",
[".uvx"] = "application/vnd.dece.unspecified",
[".uvz"] = "application/vnd.dece.zip",
[".vb"] = "text/plain",
[".vbdproj"] = "text/plain",
[".vbk"] = "video/mpeg",
[".vbproj"] = "text/plain",
[".vbs"] = "text/vbscript",
[".vcard"] = "text/vcard",
[".vcd"] = "application/x-cdlink",
[".vcf"] = "text/x-vcard",
[".vcg"] = "application/vnd.groove-vcard",
[".vcproj"] = "application/xml",
[".vcs"] = "text/plain",
[".vcx"] = "application/vnd.vcx",
[".vcxproj"] = "application/xml",
[".vddproj"] = "text/plain",
[".vdp"] = "text/plain",
[".vdproj"] = "text/plain",
[".vdx"] = "application/vnd.ms-visio.viewer",
[".vis"] = "application/vnd.visionary",
[".viv"] = "video/vnd.vivo",
[".vml"] = "text/xml",
[".vob"] = "video/x-ms-vob",
[".vor"] = "application/vnd.stardivision.writer",
[".vox"] = "application/x-authorware-bin",
[".vrml"] = "model/vrml",
[".vscontent"] = "application/xml",
[".vsct"] = "text/xml",
[".vsd"] = "application/vnd.visio",
[".vsf"] = "application/vnd.vsf",
[".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",
[".vtt"] = "text/vtt",
[".vtu"] = "model/vnd.vtu",
[".vtx"] = "application/vnd.visio",
[".vxml"] = "application/voicexml+xml",
[".w3d"] = "application/x-director",
[".wad"] = "application/x-doom",
[".wasm"] = "application/wasm",
[".wav"] = "audio/wav",
[".wave"] = "audio/wav",
[".wax"] = "audio/x-ms-wax",
[".wbk"] = "application/msword",
[".wbmp"] = "image/vnd.wap.wbmp",
[".wbs"] = "application/vnd.criticaltools.wbs+xml",
[".wbxml"] = "application/vnd.wap.wbxml",
[".wcm"] = "application/vnd.ms-works",
[".wdb"] = "application/vnd.ms-works",
[".wdp"] = "image/vnd.ms-photo",
[".weba"] = "audio/webm",
[".webarchive"] = "application/x-safari-webarchive",
[".webm"] = "video/webm",
[".webp"] = "image/webp",
[".webtest"] = "application/xml",
[".wg"] = "application/vnd.pmi.widget",
[".wgt"] = "application/widget",
[".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",
[".woff"] = "application/font-woff",
[".woff2"] = "application/font-woff2",
[".wpd"] = "application/vnd.wordperfect",
[".wpl"] = "application/vnd.ms-wpl",
[".wps"] = "application/vnd.ms-works",
[".wqd"] = "application/vnd.wqd",
[".wri"] = "application/x-mswrite",
[".wrl"] = "x-world/x-vrml",
[".wrz"] = "x-world/x-vrml",
[".wsc"] = "text/scriptlet",
[".wsdl"] = "text/xml",
[".wspolicy"] = "application/wspolicy+xml",
[".wtb"] = "application/vnd.webturbo",
[".wvx"] = "video/x-ms-wvx",
[".x"] = "application/directx",
[".x32"] = "application/x-authorware-bin",
[".x3d"] = "model/x3d+xml",
[".x3db"] = "model/x3d+binary",
[".x3dbz"] = "model/x3d+binary",
[".x3dv"] = "model/x3d+vrml",
[".x3dvz"] = "model/x3d+vrml",
[".x3dz"] = "model/x3d+xml",
[".xaf"] = "x-world/x-vrml",
[".xaml"] = "application/xaml+xml",
[".xap"] = "application/x-silverlight-app",
[".xar"] = "application/vnd.xara",
[".xbap"] = "application/x-ms-xbap",
[".xbd"] = "application/vnd.fujixerox.docuworks.binder",
[".xbm"] = "image/x-xbitmap",
[".xdf"] = "application/xcap-diff+xml",
[".xdm"] = "application/vnd.syncml.dm+xml",
[".xdp"] = "application/vnd.adobe.xdp+xml",
[".xdr"] = "text/plain",
[".xdssc"] = "application/dssc+xml",
[".xdw"] = "application/vnd.fujixerox.docuworks",
[".xenc"] = "application/xenc+xml",
[".xer"] = "application/patch-ops-error+xml",
[".xfdf"] = "application/vnd.adobe.xfdf",
[".xfdl"] = "application/vnd.xfdl",
[".xht"] = "application/xhtml+xml",
[".xhtml"] = "application/xhtml+xml",
[".xhvml"] = "application/xv+xml",
[".xif"] = "image/vnd.xiff",
[".xla"] = "application/vnd.ms-excel",
[".xlam"] = "application/vnd.ms-excel.addin.macroEnabled.12",
[".xlc"] = "application/vnd.ms-excel",
[".xld"] = "application/vnd.ms-excel",
[".xlf"] = "application/x-xliff+xml",
[".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",
[".xm"] = "audio/xm",
[".xml"] = "text/xml",
[".xmp"] = "application/octet-stream",
[".xmta"] = "application/xml",
[".xo"] = "application/vnd.olpc-sugar",
[".xof"] = "x-world/x-vrml",
[".XOML"] = "text/plain",
[".xop"] = "application/xop+xml",
[".xpi"] = "application/x-xpinstall",
[".xpl"] = "application/xproc+xml",
[".xpm"] = "image/x-xpixmap",
[".xpr"] = "application/vnd.is-xpr",
[".xps"] = "application/vnd.ms-xpsdocument",
[".xpw"] = "application/vnd.intercon.formnet",
[".xpx"] = "application/vnd.intercon.formnet",
[".xrm-ms"] = "text/xml",
[".xsc"] = "application/xml",
[".xsd"] = "text/xml",
[".xsf"] = "text/xml",
[".xsl"] = "text/xml",
[".xslt"] = "text/xml",
[".xsm"] = "application/vnd.syncml+xml",
[".xsn"] = "application/octet-stream",
[".xspf"] = "application/xspf+xml",
[".xss"] = "application/xml",
[".xtp"] = "application/octet-stream",
[".xul"] = "application/vnd.mozilla.xul+xml",
[".xvm"] = "application/xv+xml",
[".xvml"] = "application/xv+xml",
[".xwd"] = "image/x-xwindowdump",
[".xyz"] = "chemical/x-xyz",
[".xz"] = "application/x-xz",
[".yang"] = "application/yang",
[".yin"] = "application/yin+xml",
[".z"] = "application/x-compress",
[".z1"] = "application/x-zmachine",
[".z2"] = "application/x-zmachine",
[".z3"] = "application/x-zmachine",
[".z4"] = "application/x-zmachine",
[".z5"] = "application/x-zmachine",
[".z6"] = "application/x-zmachine",
[".z7"] = "application/x-zmachine",
[".z8"] = "application/x-zmachine",
[".zaz"] = "application/vnd.zzazz.deck+xml",
[".zip"] = "application/zip",
[".zir"] = "application/vnd.zul",
[".zirz"] = "application/vnd.zul",
[".zmm"] = "application/vnd.handheld-entertainment+xml",
#endregion
});
/// <summary>
/// Tries to get the type of the MIME from the provided string.
/// </summary>
/// <param name="input">The filename or extension.</param>
/// <param name="mimeType">The variable to store the MIME type.</param>
/// <returns>The MIME type.</returns>
/// <exception cref="ArgumentNullException" />
private static bool TryGetMimeType(string input, out string mimeType)
{
if (input == null)
{
throw new ArgumentNullException(nameof(input));
}
if (!input.Contains(Dot))
{
input = Dot + input;
}
else if (input.Contains(Dot) && !input.StartsWith(Dot))
{
var index = input.LastIndexOf(Dot);
if (index != -1 && input.Length > index + 1)
{
input = input.Substring(index + 1);
}
input = Dot + input;
}
return _mappings.Value.TryGetValue(input, out mimeType);
}
/// <summary>
/// Gets the type of the MIME from the provided string.
/// </summary>
/// <param name="fileName">The filename or extension.
/// <returns>The MIME type.</returns>
/// <exception cref="ArgumentNullException">
public static string GetMimeType(string fileName)
{
return TryGetMimeType(fileName, out var result) ? result : string.Empty;
}
/// <summary>
/// Gets the extension from the provided MINE type.
/// </summary>
/// <param name="mimeType">Type of the MIME.</param>
/// <returns>The extension.</returns>
/// <exception cref="ArgumentNullException"></exception>
/// <exception cref="ArgumentException"></exception>
public static string GetExtension(string mimeType)
{
if (mimeType == null)
{
throw new ArgumentNullException(nameof(mimeType));
}
if (mimeType.StartsWith(Dot))
{
throw new ArgumentException("Requested mime type is not valid: " + mimeType);
}
var ext = _mappings.Value.FirstOrDefault(x => x.Value.Contains(mimeType)).Key;
if (ext != null)
{
return ext;
}
return string.Empty;
}
}
} 

Reference: iana.org


Leave a Reply

Your email address will not be published. Required fields are marked *