Skip to content

Instantly share code, notes, and snippets.

@McKabue
Created June 8, 2018 14:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save McKabue/ac9fa8e65d20a35692ce063407081911 to your computer and use it in GitHub Desktop.
Save McKabue/ac9fa8e65d20a35692ce063407081911 to your computer and use it in GitHub Desktop.
C# Static MineType Detection
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
/// <summary>
/// https://github.com/samuelneff/MimeTypeMap/blob/master/src/MimeTypes/MimeTypeMap.cs
/// https://www.garykessler.net/library/file_sigs.html
/// https://msdn.microsoft.com/en-us/library/system.web.mimemapping.getmimemapping
/// https://codereview.stackexchange.com/a/85130
/// </summary>
public static class MimeTypeMap
{
private static readonly Lazy<IDictionary<MimeType, KeyValuePair<string, string>>> _mappings = new Lazy<IDictionary<MimeType, KeyValuePair<string, string>>>(BuildMappings);
private static IDictionary<MimeType, KeyValuePair<string, string>> BuildMappings()
{
var mappings = new Dictionary<MimeType, KeyValuePair<string, string>>();
var names = Enum.GetNames(typeof(MimeType));
foreach (var name in names)
{
var member = typeof(MimeType).GetMember(name);
DisplayAttribute displayName = (DisplayAttribute)member[0].GetCustomAttributes(typeof(DisplayAttribute), false).FirstOrDefault();
EnumMemberAttribute enumMember = (EnumMemberAttribute)member[0].GetCustomAttributes(typeof(EnumMemberAttribute), false).FirstOrDefault();
object _enum;
Enum.TryParse(typeof(MimeType), name, true, out _enum);
mappings.Add((MimeType)_enum, new KeyValuePair<string, string>(displayName.Name, enumMember.Value));
}
return mappings;
}
public static (MimeType?, KeyValuePair<string, string>?)? GetMimeByExtention(this string extensionOrPathName)
{
if (!extensionOrPathName.StartsWith("."))
extensionOrPathName = Path.GetExtension(extensionOrPathName);
var enumerator = _mappings.Value.GetEnumerator();
while (enumerator.MoveNext())
{
var current = enumerator.Current;
if (current.Value.Key.Equals(extensionOrPathName, StringComparison.OrdinalIgnoreCase))
return (current.Key, current.Value);
}
return null;
}
public static (MimeType?, KeyValuePair<string, string>?)? GetMimeByType(this string mimeType)
{
var enumerator = _mappings.Value.GetEnumerator();
while (enumerator.MoveNext())
{
var current = enumerator.Current;
if (current.Value.Value.Equals(mimeType, StringComparison.OrdinalIgnoreCase))
return (current.Key, current.Value);
}
return null;
}
public enum MimeType
{
[EnumMember(Value = "text/h323"), Display(Name = ".323")]
_323,
[EnumMember(Value = "video/3gpp2"), Display(Name = ".3g2")]
_3G2,
[EnumMember(Value = "video/3gpp"), Display(Name = ".3gp")]
_3GP,
[EnumMember(Value = "video/3gpp2"), Display(Name = ".3gp2")]
_3GP2,
[EnumMember(Value = "video/3gpp"), Display(Name = ".3gpp")]
_3GPP,
[EnumMember(Value = "application/x-7z-compressed"), Display(Name = ".7z")]
_7Z,
[EnumMember(Value = "audio/audible"), Display(Name = ".aa")]
AA,
[EnumMember(Value = "audio/aac"), Display(Name = ".AAC")]
AAC,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".aaf")]
AAF,
[EnumMember(Value = "audio/vnd.audible.aax"), Display(Name = ".aax")]
AAX,
[EnumMember(Value = "audio/ac3"), Display(Name = ".ac3")]
AC3,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".aca")]
ACA,
[EnumMember(Value = "application/msaccess.addin"), Display(Name = ".accda")]
ACCDA,
[EnumMember(Value = "application/msaccess"), Display(Name = ".accdb")]
ACCDB,
[EnumMember(Value = "application/msaccess.cab"), Display(Name = ".accdc")]
ACCDC,
[EnumMember(Value = "application/msaccess"), Display(Name = ".accde")]
ACCDE,
[EnumMember(Value = "application/msaccess.runtime"), Display(Name = ".accdr")]
ACCDR,
[EnumMember(Value = "application/msaccess"), Display(Name = ".accdt")]
ACCDT,
[EnumMember(Value = "application/msaccess.webapplication"), Display(Name = ".accdw")]
ACCDW,
[EnumMember(Value = "application/msaccess.ftemplate"), Display(Name = ".accft")]
ACCFT,
[EnumMember(Value = "application/internet-property-stream"), Display(Name = ".acx")]
ACX,
[EnumMember(Value = "text/xml"), Display(Name = ".AddIn")]
ADDIN,
[EnumMember(Value = "application/msaccess"), Display(Name = ".ade")]
ADE,
[EnumMember(Value = "application/x-bridge-url"), Display(Name = ".adobebridge")]
ADOBEBRIDGE,
[EnumMember(Value = "application/msaccess"), Display(Name = ".adp")]
ADP,
[EnumMember(Value = "audio/vnd.dlna.adts"), Display(Name = ".ADT")]
ADT,
[EnumMember(Value = "audio/aac"), Display(Name = ".ADTS")]
ADTS,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".afm")]
AFM,
[EnumMember(Value = "application/postscript"), Display(Name = ".ai")]
AI,
[EnumMember(Value = "audio/aiff"), Display(Name = ".aif")]
AIF,
[EnumMember(Value = "audio/aiff"), Display(Name = ".aifc")]
AIFC,
[EnumMember(Value = "audio/aiff"), Display(Name = ".aiff")]
AIFF,
[EnumMember(Value = "application/vnd.adobe.air-application-installer-package+zip"), Display(Name = ".air")]
AIR,
[EnumMember(Value = "application/mpeg"), Display(Name = ".amc")]
AMC,
[EnumMember(Value = "application/annodex"), Display(Name = ".anx")]
ANX,
[EnumMember(Value = "application/vnd.android.package-archive"), Display(Name = ".apk")]
APK,
[EnumMember(Value = "application/x-ms-application"), Display(Name = ".application")]
APPLICATION,
[EnumMember(Value = "image/x-jg"), Display(Name = ".art")]
ART,
[EnumMember(Value = "application/xml"), Display(Name = ".asa")]
ASA,
[EnumMember(Value = "application/xml"), Display(Name = ".asax")]
ASAX,
[EnumMember(Value = "application/xml"), Display(Name = ".ascx")]
ASCX,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".asd")]
ASD,
[EnumMember(Value = "video/x-ms-asf"), Display(Name = ".asf")]
ASF,
[EnumMember(Value = "application/xml"), Display(Name = ".ashx")]
ASHX,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".asi")]
ASI,
[EnumMember(Value = "text/plain"), Display(Name = ".asm")]
ASM,
[EnumMember(Value = "application/xml"), Display(Name = ".asmx")]
ASMX,
[EnumMember(Value = "application/xml"), Display(Name = ".aspx")]
ASPX,
[EnumMember(Value = "video/x-ms-asf"), Display(Name = ".asr")]
ASR,
[EnumMember(Value = "video/x-ms-asf"), Display(Name = ".asx")]
ASX,
[EnumMember(Value = "application/atom+xml"), Display(Name = ".atom")]
ATOM,
[EnumMember(Value = "audio/basic"), Display(Name = ".au")]
AU,
[EnumMember(Value = "video/x-msvideo"), Display(Name = ".avi")]
AVI,
[EnumMember(Value = "audio/annodex"), Display(Name = ".axa")]
AXA,
[EnumMember(Value = "application/olescript"), Display(Name = ".axs")]
AXS,
[EnumMember(Value = "video/annodex"), Display(Name = ".axv")]
AXV,
[EnumMember(Value = "text/plain"), Display(Name = ".bas")]
BAS,
[EnumMember(Value = "application/x-bcpio"), Display(Name = ".bcpio")]
BCPIO,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".bin")]
BIN,
[EnumMember(Value = "image/bmp"), Display(Name = ".bmp")]
BMP,
[EnumMember(Value = "text/plain"), Display(Name = ".c")]
C,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".cab")]
CAB,
[EnumMember(Value = "audio/x-caf"), Display(Name = ".caf")]
CAF,
[EnumMember(Value = "application/vnd.ms-office.calx"), Display(Name = ".calx")]
CALX,
[EnumMember(Value = "application/vnd.ms-pki.seccat"), Display(Name = ".cat")]
CAT,
[EnumMember(Value = "text/plain"), Display(Name = ".cc")]
CC,
[EnumMember(Value = "text/plain"), Display(Name = ".cd")]
CD,
[EnumMember(Value = "audio/aiff"), Display(Name = ".cdda")]
CDDA,
[EnumMember(Value = "application/x-cdf"), Display(Name = ".cdf")]
CDF,
[EnumMember(Value = "application/x-x509-ca-cert"), Display(Name = ".cer")]
CER,
[EnumMember(Value = "text/plain"), Display(Name = ".cfg")]
CFG,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".chm")]
CHM,
[EnumMember(Value = "application/x-java-applet"), Display(Name = ".class")]
CLASS,
[EnumMember(Value = "application/x-msclip"), Display(Name = ".clp")]
CLP,
[EnumMember(Value = "text/plain"), Display(Name = ".cmd")]
CMD,
[EnumMember(Value = "image/x-cmx"), Display(Name = ".cmx")]
CMX,
[EnumMember(Value = "text/plain"), Display(Name = ".cnf")]
CNF,
[EnumMember(Value = "image/cis-cod"), Display(Name = ".cod")]
COD,
[EnumMember(Value = "application/xml"), Display(Name = ".config")]
CONFIG,
[EnumMember(Value = "text/x-ms-contact"), Display(Name = ".contact")]
CONTACT,
[EnumMember(Value = "application/xml"), Display(Name = ".coverage")]
COVERAGE,
[EnumMember(Value = "application/x-cpio"), Display(Name = ".cpio")]
CPIO,
[EnumMember(Value = "text/plain"), Display(Name = ".cpp")]
CPP,
[EnumMember(Value = "application/x-mscardfile"), Display(Name = ".crd")]
CRD,
[EnumMember(Value = "application/pkix-crl"), Display(Name = ".crl")]
CRL,
[EnumMember(Value = "application/x-x509-ca-cert"), Display(Name = ".crt")]
CRT,
[EnumMember(Value = "text/plain"), Display(Name = ".cs")]
CS,
[EnumMember(Value = "text/plain"), Display(Name = ".csdproj")]
CSDPROJ,
[EnumMember(Value = "application/x-csh"), Display(Name = ".csh")]
CSH,
[EnumMember(Value = "text/plain"), Display(Name = ".csproj")]
CSPROJ,
[EnumMember(Value = "text/css"), Display(Name = ".css")]
CSS,
[EnumMember(Value = "text/csv"), Display(Name = ".csv")]
CSV,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".cur")]
CUR,
[EnumMember(Value = "text/plain"), Display(Name = ".cxx")]
CXX,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".dat")]
DAT,
[EnumMember(Value = "application/xml"), Display(Name = ".datasource")]
DATASOURCE,
[EnumMember(Value = "text/plain"), Display(Name = ".dbproj")]
DBPROJ,
[EnumMember(Value = "application/x-director"), Display(Name = ".dcr")]
DCR,
[EnumMember(Value = "text/plain"), Display(Name = ".def")]
DEF,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".deploy")]
DEPLOY,
[EnumMember(Value = "application/x-x509-ca-cert"), Display(Name = ".der")]
DER,
[EnumMember(Value = "application/xml"), Display(Name = ".dgml")]
DGML,
[EnumMember(Value = "image/bmp"), Display(Name = ".dib")]
DIB,
[EnumMember(Value = "video/x-dv"), Display(Name = ".dif")]
DIF,
[EnumMember(Value = "application/x-director"), Display(Name = ".dir")]
DIR,
[EnumMember(Value = "text/xml"), Display(Name = ".disco")]
DISCO,
[EnumMember(Value = "video/divx"), Display(Name = ".divx")]
DIVX,
[EnumMember(Value = "application/x-msdownload"), Display(Name = ".dll")]
DLL,
[EnumMember(Value = "text/xml"), Display(Name = ".dll.config")]
DLLCONFIG,
[EnumMember(Value = "text/dlm"), Display(Name = ".dlm")]
DLM,
[EnumMember(Value = "application/msword"), Display(Name = ".doc")]
DOC,
[EnumMember(Value = "application/vnd.ms-word.document.macroEnabled.12"), Display(Name = ".docm")]
DOCM,
[EnumMember(Value = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"), Display(Name = ".docx")]
DOCX,
[EnumMember(Value = "application/msword"), Display(Name = ".dot")]
DOT,
[EnumMember(Value = "application/vnd.ms-word.template.macroEnabled.12"), Display(Name = ".dotm")]
DOTM,
[EnumMember(Value = "application/vnd.openxmlformats-officedocument.wordprocessingml.template"), Display(Name = ".dotx")]
DOTX,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".dsp")]
DSP,
[EnumMember(Value = "text/plain"), Display(Name = ".dsw")]
DSW,
[EnumMember(Value = "text/xml"), Display(Name = ".dtd")]
DTD,
[EnumMember(Value = "text/xml"), Display(Name = ".dtsConfig")]
DTSCONFIG,
[EnumMember(Value = "video/x-dv"), Display(Name = ".dv")]
DV,
[EnumMember(Value = "application/x-dvi"), Display(Name = ".dvi")]
DVI,
[EnumMember(Value = "drawing/x-dwf"), Display(Name = ".dwf")]
DWF,
[EnumMember(Value = "application/acad"), Display(Name = ".dwg")]
DWG,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".dwp")]
DWP,
[EnumMember(Value = "application/x-dxf"), Display(Name = ".dxf")]
DXF,
[EnumMember(Value = "application/x-director"), Display(Name = ".dxr")]
DXR,
[EnumMember(Value = "message/rfc822"), Display(Name = ".eml")]
EML,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".emz")]
EMZ,
[EnumMember(Value = "application/vnd.ms-fontobject"), Display(Name = ".eot")]
EOT,
[EnumMember(Value = "application/postscript"), Display(Name = ".eps")]
EPS,
[EnumMember(Value = "application/etl"), Display(Name = ".etl")]
ETL,
[EnumMember(Value = "text/x-setext"), Display(Name = ".etx")]
ETX,
[EnumMember(Value = "application/envoy"), Display(Name = ".evy")]
EVY,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".exe")]
EXE,
[EnumMember(Value = "text/xml"), Display(Name = ".exe.config")]
EXECONFIG,
[EnumMember(Value = "application/vnd.fdf"), Display(Name = ".fdf")]
FDF,
[EnumMember(Value = "application/fractals"), Display(Name = ".fif")]
FIF,
[EnumMember(Value = "application/xml"), Display(Name = ".filters")]
FILTERS,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".fla")]
FLA,
[EnumMember(Value = "audio/flac"), Display(Name = ".flac")]
FLAC,
[EnumMember(Value = "x-world/x-vrml"), Display(Name = ".flr")]
FLR,
[EnumMember(Value = "video/x-flv"), Display(Name = ".flv")]
FLV,
[EnumMember(Value = "application/fsharp-script"), Display(Name = ".fsscript")]
FSSCRIPT,
[EnumMember(Value = "application/fsharp-script"), Display(Name = ".fsx")]
FSX,
[EnumMember(Value = "application/xml"), Display(Name = ".generictest")]
GENERICTEST,
[EnumMember(Value = "image/gif"), Display(Name = ".gif")]
GIF,
[EnumMember(Value = "application/gpx+xml"), Display(Name = ".gpx")]
GPX,
[EnumMember(Value = "text/x-ms-group"), Display(Name = ".group")]
GROUP,
[EnumMember(Value = "audio/x-gsm"), Display(Name = ".gsm")]
GSM,
[EnumMember(Value = "application/x-gtar"), Display(Name = ".gtar")]
GTAR,
[EnumMember(Value = "application/x-gzip"), Display(Name = ".gz")]
GZ,
[EnumMember(Value = "text/plain"), Display(Name = ".h")]
H,
[EnumMember(Value = "application/x-hdf"), Display(Name = ".hdf")]
HDF,
[EnumMember(Value = "text/x-hdml"), Display(Name = ".hdml")]
HDML,
[EnumMember(Value = "application/x-oleobject"), Display(Name = ".hhc")]
HHC,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".hhk")]
HHK,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".hhp")]
HHP,
[EnumMember(Value = "application/winhlp"), Display(Name = ".hlp")]
HLP,
[EnumMember(Value = "text/plain"), Display(Name = ".hpp")]
HPP,
[EnumMember(Value = "application/mac-binhex40"), Display(Name = ".hqx")]
HQX,
[EnumMember(Value = "application/hta"), Display(Name = ".hta")]
HTA,
[EnumMember(Value = "text/x-component"), Display(Name = ".htc")]
HTC,
[EnumMember(Value = "text/html"), Display(Name = ".htm")]
HTM,
[EnumMember(Value = "text/html"), Display(Name = ".html")]
HTML,
[EnumMember(Value = "text/webviewhtml"), Display(Name = ".htt")]
HTT,
[EnumMember(Value = "application/xml"), Display(Name = ".hxa")]
HXA,
[EnumMember(Value = "application/xml"), Display(Name = ".hxc")]
HXC,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".hxd")]
HXD,
[EnumMember(Value = "application/xml"), Display(Name = ".hxe")]
HXE,
[EnumMember(Value = "application/xml"), Display(Name = ".hxf")]
HXF,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".hxh")]
HXH,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".hxi")]
HXI,
[EnumMember(Value = "application/xml"), Display(Name = ".hxk")]
HXK,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".hxq")]
HXQ,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".hxr")]
HXR,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".hxs")]
HXS,
[EnumMember(Value = "text/html"), Display(Name = ".hxt")]
HXT,
[EnumMember(Value = "application/xml"), Display(Name = ".hxv")]
HXV,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".hxw")]
HXW,
[EnumMember(Value = "text/plain"), Display(Name = ".hxx")]
HXX,
[EnumMember(Value = "text/plain"), Display(Name = ".i")]
I,
[EnumMember(Value = "image/x-icon"), Display(Name = ".ico")]
ICO,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".ics")]
ICS,
[EnumMember(Value = "text/plain"), Display(Name = ".idl")]
IDL,
[EnumMember(Value = "image/ief"), Display(Name = ".ief")]
IEF,
[EnumMember(Value = "application/x-iphone"), Display(Name = ".iii")]
III,
[EnumMember(Value = "text/plain"), Display(Name = ".inc")]
INC,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".inf")]
INF,
[EnumMember(Value = "text/plain"), Display(Name = ".ini")]
INI,
[EnumMember(Value = "text/plain"), Display(Name = ".inl")]
INL,
[EnumMember(Value = "application/x-internet-signup"), Display(Name = ".ins")]
INS,
[EnumMember(Value = "application/x-itunes-ipa"), Display(Name = ".ipa")]
IPA,
[EnumMember(Value = "application/x-itunes-ipg"), Display(Name = ".ipg")]
IPG,
[EnumMember(Value = "text/plain"), Display(Name = ".ipproj")]
IPPROJ,
[EnumMember(Value = "application/x-itunes-ipsw"), Display(Name = ".ipsw")]
IPSW,
[EnumMember(Value = "text/x-ms-iqy"), Display(Name = ".iqy")]
IQY,
[EnumMember(Value = "application/x-internet-signup"), Display(Name = ".isp")]
ISP,
[EnumMember(Value = "application/x-itunes-ite"), Display(Name = ".ite")]
ITE,
[EnumMember(Value = "application/x-itunes-itlp"), Display(Name = ".itlp")]
ITLP,
[EnumMember(Value = "application/x-itunes-itms"), Display(Name = ".itms")]
ITMS,
[EnumMember(Value = "application/x-itunes-itpc"), Display(Name = ".itpc")]
ITPC,
[EnumMember(Value = "video/x-ivf"), Display(Name = ".IVF")]
IVF,
[EnumMember(Value = "application/java-archive"), Display(Name = ".jar")]
JAR,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".java")]
JAVA,
[EnumMember(Value = "application/liquidmotion"), Display(Name = ".jck")]
JCK,
[EnumMember(Value = "application/liquidmotion"), Display(Name = ".jcz")]
JCZ,
[EnumMember(Value = "image/pjpeg"), Display(Name = ".jfif")]
JFIF,
[EnumMember(Value = "application/x-java-jnlp-file"), Display(Name = ".jnlp")]
JNLP,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".jpb")]
JPB,
[EnumMember(Value = "image/jpeg"), Display(Name = ".jpe")]
JPE,
[EnumMember(Value = "image/jpeg"), Display(Name = ".jpeg")]
JPEG,
[EnumMember(Value = "image/jpeg"), Display(Name = ".jpg")]
JPG,
[EnumMember(Value = "application/javascript"), Display(Name = ".js")]
JS,
[EnumMember(Value = "application/json"), Display(Name = ".json")]
JSON,
[EnumMember(Value = "text/jscript"), Display(Name = ".jsx")]
JSX,
[EnumMember(Value = "text/plain"), Display(Name = ".jsxbin")]
JSXBIN,
[EnumMember(Value = "application/x-latex"), Display(Name = ".latex")]
LATEX,
[EnumMember(Value = "application/windows-library+xml"), Display(Name = ".library-ms")]
LIBRARY_MS,
[EnumMember(Value = "application/x-ms-reader"), Display(Name = ".lit")]
LIT,
[EnumMember(Value = "application/xml"), Display(Name = ".loadtest")]
LOADTEST,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".lpk")]
LPK,
[EnumMember(Value = "video/x-la-asf"), Display(Name = ".lsf")]
LSF,
[EnumMember(Value = "text/plain"), Display(Name = ".lst")]
LST,
[EnumMember(Value = "video/x-la-asf"), Display(Name = ".lsx")]
LSX,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".lzh")]
LZH,
[EnumMember(Value = "application/x-msmediaview"), Display(Name = ".m13")]
M13,
[EnumMember(Value = "application/x-msmediaview"), Display(Name = ".m14")]
M14,
[EnumMember(Value = "video/mpeg"), Display(Name = ".m1v")]
M1V,
[EnumMember(Value = "video/vnd.dlna.mpeg-tts"), Display(Name = ".m2t")]
M2T,
[EnumMember(Value = "video/vnd.dlna.mpeg-tts"), Display(Name = ".m2ts")]
M2TS,
[EnumMember(Value = "video/mpeg"), Display(Name = ".m2v")]
M2V,
[EnumMember(Value = "audio/x-mpegurl"), Display(Name = ".m3u")]
M3U,
[EnumMember(Value = "audio/x-mpegurl"), Display(Name = ".m3u8")]
M3U8,
[EnumMember(Value = "audio/m4a"), Display(Name = ".m4a")]
M4A,
[EnumMember(Value = "audio/m4b"), Display(Name = ".m4b")]
M4B,
[EnumMember(Value = "audio/m4p"), Display(Name = ".m4p")]
M4P,
[EnumMember(Value = "audio/x-m4r"), Display(Name = ".m4r")]
M4R,
[EnumMember(Value = "video/x-m4v"), Display(Name = ".m4v")]
M4V,
[EnumMember(Value = "image/x-macpaint"), Display(Name = ".mac")]
MAC,
[EnumMember(Value = "text/plain"), Display(Name = ".mak")]
MAK,
[EnumMember(Value = "application/x-troff-man"), Display(Name = ".man")]
MAN,
[EnumMember(Value = "application/x-ms-manifest"), Display(Name = ".manifest")]
MANIFEST,
[EnumMember(Value = "text/plain"), Display(Name = ".map")]
MAP,
[EnumMember(Value = "application/xml"), Display(Name = ".master")]
MASTER,
[EnumMember(Value = "application/mbox"), Display(Name = ".mbox")]
MBOX,
[EnumMember(Value = "application/msaccess"), Display(Name = ".mda")]
MDA,
[EnumMember(Value = "application/x-msaccess"), Display(Name = ".mdb")]
MDB,
[EnumMember(Value = "application/msaccess"), Display(Name = ".mde")]
MDE,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".mdp")]
MDP,
[EnumMember(Value = "application/x-troff-me"), Display(Name = ".me")]
ME,
[EnumMember(Value = "application/x-shockwave-flash"), Display(Name = ".mfp")]
MFP,
[EnumMember(Value = "message/rfc822"), Display(Name = ".mht")]
MHT,
[EnumMember(Value = "message/rfc822"), Display(Name = ".mhtml")]
MHTML,
[EnumMember(Value = "audio/mid"), Display(Name = ".mid")]
MID,
[EnumMember(Value = "audio/mid"), Display(Name = ".midi")]
MIDI,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".mix")]
MIX,
[EnumMember(Value = "text/plain"), Display(Name = ".mk")]
MK,
[EnumMember(Value = "video/x-matroska-3d"), Display(Name = ".mk3d")]
MK3D,
[EnumMember(Value = "audio/x-matroska"), Display(Name = ".mka")]
MKA,
[EnumMember(Value = "video/x-matroska"), Display(Name = ".mkv")]
MKV,
[EnumMember(Value = "application/x-smaf"), Display(Name = ".mmf")]
MMF,
[EnumMember(Value = "text/xml"), Display(Name = ".mno")]
MNO,
[EnumMember(Value = "application/x-msmoney"), Display(Name = ".mny")]
MNY,
[EnumMember(Value = "video/mpeg"), Display(Name = ".mod")]
MOD,
[EnumMember(Value = "video/quicktime"), Display(Name = ".mov")]
MOV,
[EnumMember(Value = "video/x-sgi-movie"), Display(Name = ".movie")]
MOVIE,
[EnumMember(Value = "video/mpeg"), Display(Name = ".mp2")]
MP2,
[EnumMember(Value = "video/mpeg"), Display(Name = ".mp2v")]
MP2V,
[EnumMember(Value = "audio/mpeg"), Display(Name = ".mp3")]
MP3,
[EnumMember(Value = "video/mp4"), Display(Name = ".mp4")]
MP4,
[EnumMember(Value = "video/mp4"), Display(Name = ".mp4v")]
MP4V,
[EnumMember(Value = "video/mpeg"), Display(Name = ".mpa")]
MPA,
[EnumMember(Value = "video/mpeg"), Display(Name = ".mpe")]
MPE,
[EnumMember(Value = "video/mpeg"), Display(Name = ".mpeg")]
MPEG,
[EnumMember(Value = "application/vnd.ms-mediapackage"), Display(Name = ".mpf")]
MPF,
[EnumMember(Value = "video/mpeg"), Display(Name = ".mpg")]
MPG,
[EnumMember(Value = "application/vnd.ms-project"), Display(Name = ".mpp")]
MPP,
[EnumMember(Value = "video/mpeg"), Display(Name = ".mpv2")]
MPV2,
[EnumMember(Value = "video/quicktime"), Display(Name = ".mqv")]
MQV,
[EnumMember(Value = "application/x-troff-ms"), Display(Name = ".ms")]
MS,
[EnumMember(Value = "application/vnd.ms-outlook"), Display(Name = ".msg")]
MSG,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".msi")]
MSI,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".mso")]
MSO,
[EnumMember(Value = "video/vnd.dlna.mpeg-tts"), Display(Name = ".mts")]
MTS,
[EnumMember(Value = "application/xml"), Display(Name = ".mtx")]
MTX,
[EnumMember(Value = "application/x-msmediaview"), Display(Name = ".mvb")]
MVB,
[EnumMember(Value = "application/x-miva-compiled"), Display(Name = ".mvc")]
MVC,
[EnumMember(Value = "application/x-mmxp"), Display(Name = ".mxp")]
MXP,
[EnumMember(Value = "application/x-netcdf"), Display(Name = ".nc")]
NC,
[EnumMember(Value = "video/x-ms-asf"), Display(Name = ".nsc")]
NSC,
[EnumMember(Value = "message/rfc822"), Display(Name = ".nws")]
NWS,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".ocx")]
OCX,
[EnumMember(Value = "application/oda"), Display(Name = ".oda")]
ODA,
[EnumMember(Value = "application/vnd.oasis.opendocument.database"), Display(Name = ".odb")]
ODB,
[EnumMember(Value = "application/vnd.oasis.opendocument.chart"), Display(Name = ".odc")]
ODC,
[EnumMember(Value = "application/vnd.oasis.opendocument.formula"), Display(Name = ".odf")]
ODF,
[EnumMember(Value = "application/vnd.oasis.opendocument.graphics"), Display(Name = ".odg")]
ODG,
[EnumMember(Value = "text/plain"), Display(Name = ".odh")]
ODH,
[EnumMember(Value = "application/vnd.oasis.opendocument.image"), Display(Name = ".odi")]
ODI,
[EnumMember(Value = "text/plain"), Display(Name = ".odl")]
ODL,
[EnumMember(Value = "application/vnd.oasis.opendocument.text-master"), Display(Name = ".odm")]
ODM,
[EnumMember(Value = "application/vnd.oasis.opendocument.presentation"), Display(Name = ".odp")]
ODP,
[EnumMember(Value = "application/vnd.oasis.opendocument.spreadsheet"), Display(Name = ".ods")]
ODS,
[EnumMember(Value = "application/vnd.oasis.opendocument.text"), Display(Name = ".odt")]
ODT,
[EnumMember(Value = "audio/ogg"), Display(Name = ".oga")]
OGA,
[EnumMember(Value = "audio/ogg"), Display(Name = ".ogg")]
OGG,
[EnumMember(Value = "video/ogg"), Display(Name = ".ogv")]
OGV,
[EnumMember(Value = "application/ogg"), Display(Name = ".ogx")]
OGX,
[EnumMember(Value = "application/onenote"), Display(Name = ".one")]
ONE,
[EnumMember(Value = "application/onenote"), Display(Name = ".onea")]
ONEA,
[EnumMember(Value = "application/onenote"), Display(Name = ".onepkg")]
ONEPKG,
[EnumMember(Value = "application/onenote"), Display(Name = ".onetmp")]
ONETMP,
[EnumMember(Value = "application/onenote"), Display(Name = ".onetoc")]
ONETOC,
[EnumMember(Value = "application/onenote"), Display(Name = ".onetoc2")]
ONETOC2,
[EnumMember(Value = "audio/ogg"), Display(Name = ".opus")]
OPUS,
[EnumMember(Value = "application/xml"), Display(Name = ".orderedtest")]
ORDEREDTEST,
[EnumMember(Value = "application/opensearchdescription+xml"), Display(Name = ".osdx")]
OSDX,
[EnumMember(Value = "application/font-sfnt"), Display(Name = ".otf")]
OTF,
[EnumMember(Value = "application/vnd.oasis.opendocument.graphics-template"), Display(Name = ".otg")]
OTG,
[EnumMember(Value = "application/vnd.oasis.opendocument.text-web"), Display(Name = ".oth")]
OTH,
[EnumMember(Value = "application/vnd.oasis.opendocument.presentation-template"), Display(Name = ".otp")]
OTP,
[EnumMember(Value = "application/vnd.oasis.opendocument.spreadsheet-template"), Display(Name = ".ots")]
OTS,
[EnumMember(Value = "application/vnd.oasis.opendocument.text-template"), Display(Name = ".ott")]
OTT,
[EnumMember(Value = "application/vnd.openofficeorg.extension"), Display(Name = ".oxt")]
OXT,
[EnumMember(Value = "application/pkcs10"), Display(Name = ".p10")]
P10,
[EnumMember(Value = "application/x-pkcs12"), Display(Name = ".p12")]
P12,
[EnumMember(Value = "application/x-pkcs7-certificates"), Display(Name = ".p7b")]
P7B,
[EnumMember(Value = "application/pkcs7-mime"), Display(Name = ".p7c")]
P7C,
[EnumMember(Value = "application/pkcs7-mime"), Display(Name = ".p7m")]
P7M,
[EnumMember(Value = "application/x-pkcs7-certreqresp"), Display(Name = ".p7r")]
P7R,
[EnumMember(Value = "application/pkcs7-signature"), Display(Name = ".p7s")]
P7S,
[EnumMember(Value = "image/x-portable-bitmap"), Display(Name = ".pbm")]
PBM,
[EnumMember(Value = "application/x-podcast"), Display(Name = ".pcast")]
PCAST,
[EnumMember(Value = "image/pict"), Display(Name = ".pct")]
PCT,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".pcx")]
PCX,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".pcz")]
PCZ,
[EnumMember(Value = "application/pdf"), Display(Name = ".pdf")]
PDF,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".pfb")]
PFB,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".pfm")]
PFM,
[EnumMember(Value = "application/x-pkcs12"), Display(Name = ".pfx")]
PFX,
[EnumMember(Value = "image/x-portable-graymap"), Display(Name = ".pgm")]
PGM,
[EnumMember(Value = "image/pict"), Display(Name = ".pic")]
PIC,
[EnumMember(Value = "image/pict"), Display(Name = ".pict")]
PICT,
[EnumMember(Value = "text/plain"), Display(Name = ".pkgdef")]
PKGDEF,
[EnumMember(Value = "text/plain"), Display(Name = ".pkgundef")]
PKGUNDEF,
[EnumMember(Value = "application/vnd.ms-pki.pko"), Display(Name = ".pko")]
PKO,
[EnumMember(Value = "audio/scpls"), Display(Name = ".pls")]
PLS,
[EnumMember(Value = "application/x-perfmon"), Display(Name = ".pma")]
PMA,
[EnumMember(Value = "application/x-perfmon"), Display(Name = ".pmc")]
PMC,
[EnumMember(Value = "application/x-perfmon"), Display(Name = ".pml")]
PML,
[EnumMember(Value = "application/x-perfmon"), Display(Name = ".pmr")]
PMR,
[EnumMember(Value = "application/x-perfmon"), Display(Name = ".pmw")]
PMW,
[EnumMember(Value = "image/png"), Display(Name = ".png")]
PNG,
[EnumMember(Value = "image/x-portable-anymap"), Display(Name = ".pnm")]
PNM,
[EnumMember(Value = "image/x-macpaint"), Display(Name = ".pnt")]
PNT,
[EnumMember(Value = "image/x-macpaint"), Display(Name = ".pntg")]
PNTG,
[EnumMember(Value = "image/png"), Display(Name = ".pnz")]
PNZ,
[EnumMember(Value = "application/vnd.ms-powerpoint"), Display(Name = ".pot")]
POT,
[EnumMember(Value = "application/vnd.ms-powerpoint.template.macroEnabled.12"), Display(Name = ".potm")]
POTM,
[EnumMember(Value = "application/vnd.openxmlformats-officedocument.presentationml.template"), Display(Name = ".potx")]
POTX,
[EnumMember(Value = "application/vnd.ms-powerpoint"), Display(Name = ".ppa")]
PPA,
[EnumMember(Value = "application/vnd.ms-powerpoint.addin.macroEnabled.12"), Display(Name = ".ppam")]
PPAM,
[EnumMember(Value = "image/x-portable-pixmap"), Display(Name = ".ppm")]
PPM,
[EnumMember(Value = "application/vnd.ms-powerpoint"), Display(Name = ".pps")]
PPS,
[EnumMember(Value = "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"), Display(Name = ".ppsm")]
PPSM,
[EnumMember(Value = "application/vnd.openxmlformats-officedocument.presentationml.slideshow"), Display(Name = ".ppsx")]
PPSX,
[EnumMember(Value = "application/vnd.ms-powerpoint"), Display(Name = ".ppt")]
PPT,
[EnumMember(Value = "application/vnd.ms-powerpoint.presentation.macroEnabled.12"), Display(Name = ".pptm")]
PPTM,
[EnumMember(Value = "application/vnd.openxmlformats-officedocument.presentationml.presentation"), Display(Name = ".pptx")]
PPTX,
[EnumMember(Value = "application/pics-rules"), Display(Name = ".prf")]
PRF,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".prm")]
PRM,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".prx")]
PRX,
[EnumMember(Value = "application/postscript"), Display(Name = ".ps")]
PS,
[EnumMember(Value = "application/PowerShell"), Display(Name = ".psc1")]
PSC1,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".psd")]
PSD,
[EnumMember(Value = "application/xml"), Display(Name = ".psess")]
PSESS,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".psm")]
PSM,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".psp")]
PSP,
[EnumMember(Value = "application/vnd.ms-outlook"), Display(Name = ".pst")]
PST,
[EnumMember(Value = "application/x-mspublisher"), Display(Name = ".pub")]
PUB,
[EnumMember(Value = "application/vnd.ms-powerpoint"), Display(Name = ".pwz")]
PWZ,
[EnumMember(Value = "text/x-html-insertion"), Display(Name = ".qht")]
QHT,
[EnumMember(Value = "text/x-html-insertion"), Display(Name = ".qhtm")]
QHTM,
[EnumMember(Value = "video/quicktime"), Display(Name = ".qt")]
QT,
[EnumMember(Value = "image/x-quicktime"), Display(Name = ".qti")]
QTI,
[EnumMember(Value = "image/x-quicktime"), Display(Name = ".qtif")]
QTIF,
[EnumMember(Value = "application/x-quicktimeplayer"), Display(Name = ".qtl")]
QTL,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".qxd")]
QXD,
[EnumMember(Value = "audio/x-pn-realaudio"), Display(Name = ".ra")]
RA,
[EnumMember(Value = "audio/x-pn-realaudio"), Display(Name = ".ram")]
RAM,
[EnumMember(Value = "application/x-rar-compressed"), Display(Name = ".rar")]
RAR,
[EnumMember(Value = "image/x-cmu-raster"), Display(Name = ".ras")]
RAS,
[EnumMember(Value = "application/rat-file"), Display(Name = ".rat")]
RAT,
[EnumMember(Value = "text/plain"), Display(Name = ".rc")]
RC,
[EnumMember(Value = "text/plain"), Display(Name = ".rc2")]
RC2,
[EnumMember(Value = "text/plain"), Display(Name = ".rct")]
RCT,
[EnumMember(Value = "application/xml"), Display(Name = ".rdlc")]
RDLC,
[EnumMember(Value = "text/plain"), Display(Name = ".reg")]
REG,
[EnumMember(Value = "application/xml"), Display(Name = ".resx")]
RESX,
[EnumMember(Value = "image/vnd.rn-realflash"), Display(Name = ".rf")]
RF,
[EnumMember(Value = "image/x-rgb"), Display(Name = ".rgb")]
RGB,
[EnumMember(Value = "text/plain"), Display(Name = ".rgs")]
RGS,
[EnumMember(Value = "application/vnd.rn-realmedia"), Display(Name = ".rm")]
RM,
[EnumMember(Value = "audio/mid"), Display(Name = ".rmi")]
RMI,
[EnumMember(Value = "application/vnd.rn-rn_music_package"), Display(Name = ".rmp")]
RMP,
[EnumMember(Value = "application/x-troff"), Display(Name = ".roff")]
ROFF,
[EnumMember(Value = "audio/x-pn-realaudio-plugin"), Display(Name = ".rpm")]
RPM,
[EnumMember(Value = "text/x-ms-rqy"), Display(Name = ".rqy")]
RQY,
[EnumMember(Value = "application/rtf"), Display(Name = ".rtf")]
RTF,
[EnumMember(Value = "text/richtext"), Display(Name = ".rtx")]
RTX,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".rvt")]
RVT,
[EnumMember(Value = "application/xml"), Display(Name = ".ruleset")]
RULESET,
[EnumMember(Value = "text/plain"), Display(Name = ".s")]
S,
[EnumMember(Value = "application/x-safari-safariextz"), Display(Name = ".safariextz")]
SAFARIEXTZ,
[EnumMember(Value = "application/x-msschedule"), Display(Name = ".scd")]
SCD,
[EnumMember(Value = "text/plain"), Display(Name = ".scr")]
SCR,
[EnumMember(Value = "text/scriptlet"), Display(Name = ".sct")]
SCT,
[EnumMember(Value = "audio/x-sd2"), Display(Name = ".sd2")]
SD2,
[EnumMember(Value = "application/sdp"), Display(Name = ".sdp")]
SDP,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".sea")]
SEA,
[EnumMember(Value = "application/windows-search-connector+xml"), Display(Name = ".searchConnector-ms")]
SEARCHCONNECTOR_MS,
[EnumMember(Value = "application/set-payment-initiation"), Display(Name = ".setpay")]
SETPAY,
[EnumMember(Value = "application/set-registration-initiation"), Display(Name = ".setreg")]
SETREG,
[EnumMember(Value = "application/xml"), Display(Name = ".settings")]
SETTINGS,
[EnumMember(Value = "application/x-sgimb"), Display(Name = ".sgimb")]
SGIMB,
[EnumMember(Value = "text/sgml"), Display(Name = ".sgml")]
SGML,
[EnumMember(Value = "application/x-sh"), Display(Name = ".sh")]
SH,
[EnumMember(Value = "application/x-shar"), Display(Name = ".shar")]
SHAR,
[EnumMember(Value = "text/html"), Display(Name = ".shtml")]
SHTML,
[EnumMember(Value = "application/x-stuffit"), Display(Name = ".sit")]
SIT,
[EnumMember(Value = "application/xml"), Display(Name = ".sitemap")]
SITEMAP,
[EnumMember(Value = "application/xml"), Display(Name = ".skin")]
SKIN,
[EnumMember(Value = "application/x-koan"), Display(Name = ".skp")]
SKP,
[EnumMember(Value = "application/vnd.ms-powerpoint.slide.macroEnabled.12"), Display(Name = ".sldm")]
SLDM,
[EnumMember(Value = "application/vnd.openxmlformats-officedocument.presentationml.slide"), Display(Name = ".sldx")]
SLDX,
[EnumMember(Value = "application/vnd.ms-excel"), Display(Name = ".slk")]
SLK,
[EnumMember(Value = "text/plain"), Display(Name = ".sln")]
SLN,
[EnumMember(Value = "application/x-ms-license"), Display(Name = ".slupkg-ms")]
SLUPKG_MS,
[EnumMember(Value = "audio/x-smd"), Display(Name = ".smd")]
SMD,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".smi")]
SMI,
[EnumMember(Value = "audio/x-smd"), Display(Name = ".smx")]
SMX,
[EnumMember(Value = "audio/x-smd"), Display(Name = ".smz")]
SMZ,
[EnumMember(Value = "audio/basic"), Display(Name = ".snd")]
SND,
[EnumMember(Value = "application/xml"), Display(Name = ".snippet")]
SNIPPET,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".snp")]
SNP,
[EnumMember(Value = "text/plain"), Display(Name = ".sol")]
SOL,
[EnumMember(Value = "text/plain"), Display(Name = ".sor")]
SOR,
[EnumMember(Value = "application/x-pkcs7-certificates"), Display(Name = ".spc")]
SPC,
[EnumMember(Value = "application/futuresplash"), Display(Name = ".spl")]
SPL,
[EnumMember(Value = "audio/ogg"), Display(Name = ".spx")]
SPX,
[EnumMember(Value = "application/x-wais-source"), Display(Name = ".src")]
SRC,
[EnumMember(Value = "text/plain"), Display(Name = ".srf")]
SRF,
[EnumMember(Value = "text/xml"), Display(Name = ".SSISDeploymentManifest")]
SSISDEPLOYMENTMANIFEST,
[EnumMember(Value = "application/streamingmedia"), Display(Name = ".ssm")]
SSM,
[EnumMember(Value = "application/vnd.ms-pki.certstore"), Display(Name = ".sst")]
SST,
[EnumMember(Value = "application/vnd.ms-pki.stl"), Display(Name = ".stl")]
STL,
[EnumMember(Value = "application/x-sv4cpio"), Display(Name = ".sv4cpio")]
SV4CPIO,
[EnumMember(Value = "application/x-sv4crc"), Display(Name = ".sv4crc")]
SV4CRC,
[EnumMember(Value = "application/xml"), Display(Name = ".svc")]
SVC,
[EnumMember(Value = "image/svg+xml"), Display(Name = ".svg")]
SVG,
[EnumMember(Value = "application/x-shockwave-flash"), Display(Name = ".swf")]
SWF,
[EnumMember(Value = "application/step"), Display(Name = ".step")]
STEP,
[EnumMember(Value = "application/step"), Display(Name = ".stp")]
STP,
[EnumMember(Value = "application/x-troff"), Display(Name = ".t")]
T,
[EnumMember(Value = "application/x-tar"), Display(Name = ".tar")]
TAR,
[EnumMember(Value = "application/x-tcl"), Display(Name = ".tcl")]
TCL,
[EnumMember(Value = "application/xml"), Display(Name = ".testrunconfig")]
TESTRUNCONFIG,
[EnumMember(Value = "application/xml"), Display(Name = ".testsettings")]
TESTSETTINGS,
[EnumMember(Value = "application/x-tex"), Display(Name = ".tex")]
TEX,
[EnumMember(Value = "application/x-texinfo"), Display(Name = ".texi")]
TEXI,
[EnumMember(Value = "application/x-texinfo"), Display(Name = ".texinfo")]
TEXINFO,
[EnumMember(Value = "application/x-compressed"), Display(Name = ".tgz")]
TGZ,
[EnumMember(Value = "application/vnd.ms-officetheme"), Display(Name = ".thmx")]
THMX,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".thn")]
THN,
[EnumMember(Value = "image/tiff"), Display(Name = ".tif")]
TIF,
[EnumMember(Value = "image/tiff"), Display(Name = ".tiff")]
TIFF,
[EnumMember(Value = "text/plain"), Display(Name = ".tlh")]
TLH,
[EnumMember(Value = "text/plain"), Display(Name = ".tli")]
TLI,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".toc")]
TOC,
[EnumMember(Value = "application/x-troff"), Display(Name = ".tr")]
TR,
[EnumMember(Value = "application/x-msterminal"), Display(Name = ".trm")]
TRM,
[EnumMember(Value = "application/xml"), Display(Name = ".trx")]
TRX,
[EnumMember(Value = "video/vnd.dlna.mpeg-tts"), Display(Name = ".ts")]
TS,
[EnumMember(Value = "text/tab-separated-values"), Display(Name = ".tsv")]
TSV,
[EnumMember(Value = "application/font-sfnt"), Display(Name = ".ttf")]
TTF,
[EnumMember(Value = "video/vnd.dlna.mpeg-tts"), Display(Name = ".tts")]
TTS,
[EnumMember(Value = "text/plain"), Display(Name = ".txt")]
TXT,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".u32")]
U32,
[EnumMember(Value = "text/iuls"), Display(Name = ".uls")]
ULS,
[EnumMember(Value = "text/plain"), Display(Name = ".user")]
USER,
[EnumMember(Value = "application/x-ustar"), Display(Name = ".ustar")]
USTAR,
[EnumMember(Value = "text/plain"), Display(Name = ".vb")]
VB,
[EnumMember(Value = "text/plain"), Display(Name = ".vbdproj")]
VBDPROJ,
[EnumMember(Value = "video/mpeg"), Display(Name = ".vbk")]
VBK,
[EnumMember(Value = "text/plain"), Display(Name = ".vbproj")]
VBPROJ,
[EnumMember(Value = "text/vbscript"), Display(Name = ".vbs")]
VBS,
[EnumMember(Value = "text/x-vcard"), Display(Name = ".vcf")]
VCF,
[EnumMember(Value = "application/xml"), Display(Name = ".vcproj")]
VCPROJ,
[EnumMember(Value = "text/plain"), Display(Name = ".vcs")]
VCS,
[EnumMember(Value = "application/xml"), Display(Name = ".vcxproj")]
VCXPROJ,
[EnumMember(Value = "text/plain"), Display(Name = ".vddproj")]
VDDPROJ,
[EnumMember(Value = "text/plain"), Display(Name = ".vdp")]
VDP,
[EnumMember(Value = "text/plain"), Display(Name = ".vdproj")]
VDPROJ,
[EnumMember(Value = "application/vnd.ms-visio.viewer"), Display(Name = ".vdx")]
VDX,
[EnumMember(Value = "text/xml"), Display(Name = ".vml")]
VML,
[EnumMember(Value = "application/xml"), Display(Name = ".vscontent")]
VSCONTENT,
[EnumMember(Value = "text/xml"), Display(Name = ".vsct")]
VSCT,
[EnumMember(Value = "application/vnd.visio"), Display(Name = ".vsd")]
VSD,
[EnumMember(Value = "application/ms-vsi"), Display(Name = ".vsi")]
VSI,
[EnumMember(Value = "application/vsix"), Display(Name = ".vsix")]
VSIX,
[EnumMember(Value = "text/xml"), Display(Name = ".vsixlangpack")]
VSIXLANGPACK,
[EnumMember(Value = "text/xml"), Display(Name = ".vsixmanifest")]
VSIXMANIFEST,
[EnumMember(Value = "application/xml"), Display(Name = ".vsmdi")]
VSMDI,
[EnumMember(Value = "text/plain"), Display(Name = ".vspscc")]
VSPSCC,
[EnumMember(Value = "application/vnd.visio"), Display(Name = ".vss")]
VSS,
[EnumMember(Value = "text/plain"), Display(Name = ".vsscc")]
VSSCC,
[EnumMember(Value = "text/xml"), Display(Name = ".vssettings")]
VSSETTINGS,
[EnumMember(Value = "text/plain"), Display(Name = ".vssscc")]
VSSSCC,
[EnumMember(Value = "application/vnd.visio"), Display(Name = ".vst")]
VST,
[EnumMember(Value = "text/xml"), Display(Name = ".vstemplate")]
VSTEMPLATE,
[EnumMember(Value = "application/x-ms-vsto"), Display(Name = ".vsto")]
VSTO,
[EnumMember(Value = "application/vnd.visio"), Display(Name = ".vsw")]
VSW,
[EnumMember(Value = "application/vnd.visio"), Display(Name = ".vsx")]
VSX,
[EnumMember(Value = "application/vnd.visio"), Display(Name = ".vtx")]
VTX,
[EnumMember(Value = "application/wasm"), Display(Name = ".wasm")]
WASM,
[EnumMember(Value = "audio/wav"), Display(Name = ".wav")]
WAV,
[EnumMember(Value = "audio/wav"), Display(Name = ".wave")]
WAVE,
[EnumMember(Value = "audio/x-ms-wax"), Display(Name = ".wax")]
WAX,
[EnumMember(Value = "application/msword"), Display(Name = ".wbk")]
WBK,
[EnumMember(Value = "image/vnd.wap.wbmp"), Display(Name = ".wbmp")]
WBMP,
[EnumMember(Value = "application/vnd.ms-works"), Display(Name = ".wcm")]
WCM,
[EnumMember(Value = "application/vnd.ms-works"), Display(Name = ".wdb")]
WDB,
[EnumMember(Value = "image/vnd.ms-photo"), Display(Name = ".wdp")]
WDP,
[EnumMember(Value = "application/x-safari-webarchive"), Display(Name = ".webarchive")]
WEBARCHIVE,
[EnumMember(Value = "video/webm"), Display(Name = ".webm")]
WEBM,
[EnumMember(Value = "image/webp"), Display(Name = ".webp")]
WEBP,
[EnumMember(Value = "application/xml"), Display(Name = ".webtest")]
WEBTEST,
[EnumMember(Value = "application/xml"), Display(Name = ".wiq")]
WIQ,
[EnumMember(Value = "application/msword"), Display(Name = ".wiz")]
WIZ,
[EnumMember(Value = "application/vnd.ms-works"), Display(Name = ".wks")]
WKS,
[EnumMember(Value = "application/wlmoviemaker"), Display(Name = ".WLMP")]
WLMP,
[EnumMember(Value = "application/x-wlpg-detect"), Display(Name = ".wlpginstall")]
WLPGINSTALL,
[EnumMember(Value = "application/x-wlpg3-detect"), Display(Name = ".wlpginstall3")]
WLPGINSTALL3,
[EnumMember(Value = "video/x-ms-wm"), Display(Name = ".wm")]
WM,
[EnumMember(Value = "audio/x-ms-wma"), Display(Name = ".wma")]
WMA,
[EnumMember(Value = "application/x-ms-wmd"), Display(Name = ".wmd")]
WMD,
[EnumMember(Value = "application/x-msmetafile"), Display(Name = ".wmf")]
WMF,
[EnumMember(Value = "text/vnd.wap.wml"), Display(Name = ".wml")]
WML,
[EnumMember(Value = "application/vnd.wap.wmlc"), Display(Name = ".wmlc")]
WMLC,
[EnumMember(Value = "text/vnd.wap.wmlscript"), Display(Name = ".wmls")]
WMLS,
[EnumMember(Value = "application/vnd.wap.wmlscriptc"), Display(Name = ".wmlsc")]
WMLSC,
[EnumMember(Value = "video/x-ms-wmp"), Display(Name = ".wmp")]
WMP,
[EnumMember(Value = "video/x-ms-wmv"), Display(Name = ".wmv")]
WMV,
[EnumMember(Value = "video/x-ms-wmx"), Display(Name = ".wmx")]
WMX,
[EnumMember(Value = "application/x-ms-wmz"), Display(Name = ".wmz")]
WMZ,
[EnumMember(Value = "application/font-woff"), Display(Name = ".woff")]
WOFF,
[EnumMember(Value = "application/font-woff2"), Display(Name = ".woff2")]
WOFF2,
[EnumMember(Value = "application/vnd.ms-wpl"), Display(Name = ".wpl")]
WPL,
[EnumMember(Value = "application/vnd.ms-works"), Display(Name = ".wps")]
WPS,
[EnumMember(Value = "application/x-mswrite"), Display(Name = ".wri")]
WRI,
[EnumMember(Value = "x-world/x-vrml"), Display(Name = ".wrl")]
WRL,
[EnumMember(Value = "x-world/x-vrml"), Display(Name = ".wrz")]
WRZ,
[EnumMember(Value = "text/scriptlet"), Display(Name = ".wsc")]
WSC,
[EnumMember(Value = "text/xml"), Display(Name = ".wsdl")]
WSDL,
[EnumMember(Value = "video/x-ms-wvx"), Display(Name = ".wvx")]
WVX,
[EnumMember(Value = "application/directx"), Display(Name = ".x")]
X,
[EnumMember(Value = "x-world/x-vrml"), Display(Name = ".xaf")]
XAF,
[EnumMember(Value = "application/xaml+xml"), Display(Name = ".xaml")]
XAML,
[EnumMember(Value = "application/x-silverlight-app"), Display(Name = ".xap")]
XAP,
[EnumMember(Value = "application/x-ms-xbap"), Display(Name = ".xbap")]
XBAP,
[EnumMember(Value = "image/x-xbitmap"), Display(Name = ".xbm")]
XBM,
[EnumMember(Value = "text/plain"), Display(Name = ".xdr")]
XDR,
[EnumMember(Value = "application/xhtml+xml"), Display(Name = ".xht")]
XHT,
[EnumMember(Value = "application/xhtml+xml"), Display(Name = ".xhtml")]
XHTML,
[EnumMember(Value = "application/vnd.ms-excel"), Display(Name = ".xla")]
XLA,
[EnumMember(Value = "application/vnd.ms-excel.addin.macroEnabled.12"), Display(Name = ".xlam")]
XLAM,
[EnumMember(Value = "application/vnd.ms-excel"), Display(Name = ".xlc")]
XLC,
[EnumMember(Value = "application/vnd.ms-excel"), Display(Name = ".xld")]
XLD,
[EnumMember(Value = "application/vnd.ms-excel"), Display(Name = ".xlk")]
XLK,
[EnumMember(Value = "application/vnd.ms-excel"), Display(Name = ".xll")]
XLL,
[EnumMember(Value = "application/vnd.ms-excel"), Display(Name = ".xlm")]
XLM,
[EnumMember(Value = "application/vnd.ms-excel"), Display(Name = ".xls")]
XLS,
[EnumMember(Value = "application/vnd.ms-excel.sheet.binary.macroEnabled.12"), Display(Name = ".xlsb")]
XLSB,
[EnumMember(Value = "application/vnd.ms-excel.sheet.macroEnabled.12"), Display(Name = ".xlsm")]
XLSM,
[EnumMember(Value = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"), Display(Name = ".xlsx")]
XLSX,
[EnumMember(Value = "application/vnd.ms-excel"), Display(Name = ".xlt")]
XLT,
[EnumMember(Value = "application/vnd.ms-excel.template.macroEnabled.12"), Display(Name = ".xltm")]
XLTM,
[EnumMember(Value = "application/vnd.openxmlformats-officedocument.spreadsheetml.template"), Display(Name = ".xltx")]
XLTX,
[EnumMember(Value = "application/vnd.ms-excel"), Display(Name = ".xlw")]
XLW,
[EnumMember(Value = "text/xml"), Display(Name = ".xml")]
XML,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".xmp")]
XMP,
[EnumMember(Value = "application/xml"), Display(Name = ".xmta")]
XMTA,
[EnumMember(Value = "x-world/x-vrml"), Display(Name = ".xof")]
XOF,
[EnumMember(Value = "text/plain"), Display(Name = ".XOML")]
XOML,
[EnumMember(Value = "image/x-xpixmap"), Display(Name = ".xpm")]
XPM,
[EnumMember(Value = "application/vnd.ms-xpsdocument"), Display(Name = ".xps")]
XPS,
[EnumMember(Value = "text/xml"), Display(Name = ".xrm-ms")]
XRM_MS,
[EnumMember(Value = "application/xml"), Display(Name = ".xsc")]
XSC,
[EnumMember(Value = "text/xml"), Display(Name = ".xsd")]
XSD,
[EnumMember(Value = "text/xml"), Display(Name = ".xsf")]
XSF,
[EnumMember(Value = "text/xml"), Display(Name = ".xsl")]
XSL,
[EnumMember(Value = "text/xml"), Display(Name = ".xslt")]
XSLT,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".xsn")]
XSN,
[EnumMember(Value = "application/xml"), Display(Name = ".xss")]
XSS,
[EnumMember(Value = "application/xspf+xml"), Display(Name = ".xspf")]
XSPF,
[EnumMember(Value = "application/octet-stream"), Display(Name = ".xtp")]
XTP,
[EnumMember(Value = "image/x-xwindowdump"), Display(Name = ".xwd")]
XWD,
[EnumMember(Value = "application/x-compress"), Display(Name = ".z")]
Z,
[EnumMember(Value = "application/zip"), Display(Name = ".zip")]
ZIP
}
}
@McKabue
Copy link
Author

McKabue commented Jun 8, 2018

both methods, GetMimeByExtention and GetMimeByName return tuple

video.mp4?.GetMimeByExtention(); // (MimeType.MP4, {.mp4, video/mp4})

"video/mp4"?.GetMimeByName(); // (MimeType.MP4, {.mp4, video/mp4})

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment