You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
star/httpserver/mime.go

2261 lines
56 KiB
Go

2 years ago
package httpserver
import "path/filepath"
2 years ago
func (h *HttpServer) FileType(name string) string {
ext := filepath.Ext(name)
if len(ext) == 0 || ext == "." {
2 years ago
return "其他文件"
2 years ago
}
ext = ext[1:]
mimeMap := map[string]string{
"3g2": "视频文件",
"3gp": "视频文件",
"7z": "压缩文件",
"aac": "音频文件",
"aif": "音频文件",
"aiff": "音频文件",
"amr": "音频文件",
"apk": "Android 应用程序",
"appx": "Windows 应用程序",
"asf": "视频文件",
"avi": "视频文件",
"bak": "备份文件",
"bat": "批处理文件",
"bin": "二进制文件",
"bmp": "图像文件",
"c": "源代码文件",
"cab": "Windows 安装文件",
"cfg": "配置文件",
"class": "Java 类文件",
"com": "可执行文件",
"conf": "配置文件",
"cpp": "C++ 源代码文件",
"crx": "Google Chrome 扩展",
"cs": "C# 源代码文件",
"csv": "电子表格文件",
"cue": "光盘映像文件",
"dat": "数据文件",
"deb": "Debian 安装包",
"dll": "动态链接库文件",
"dmg": "MacOS 安装文件",
"doc": "Microsoft Word 文档",
"docx": "Microsoft Word 文档",
"dtd": "文档类型定义文件",
"dwg": "CAD 文件",
"dxf": "CAD 文件",
"eml": "电子邮件文件",
"eps": "矢量图形文件",
"exe": "可执行文件",
"flac": "音频文件",
"flv": "视频文件",
"fnt": "字体文件",
"fon": "字体文件",
"gif": "图像文件",
"gz": "压缩文件",
"htm": "网页文件",
"html": "网页文件",
"ibooks": "iBooks 电子书",
"ics": "日历文件",
"iso": "光盘映像文件",
"jar": "Java 应用程序",
"java": "Java 源代码文件",
"jpe": "图像文件",
"jpeg": "图像文件",
"jpg": "图像文件",
"js": "JavaScript 文件",
"json": "JSON 文件",
"key": "Keynote 演示文稿",
"log": "日志文件",
"m4a": "音频文件",
"m4v": "视频文件",
"mdb": "Microsoft Access 数据库文件",
"mht": "网页存档文件",
"mid": "图像文件",
"midi": "音频文件",
"mkv": "视频文件",
"mov": "视频文件",
"mp3": "音频文件",
"mp4": "视频文件",
"mpeg": "视频文件",
"mpg": "视频文件",
"msg": "电子邮件文件",
"nes": "NES 游戏 ROM 文件",
"obj": "3D 模型文件",
"odp": "OpenOffice Impress 演示文稿",
"ods": "OpenOffice Calc 电子表格文件",
"odt": "OpenOffice Writer 文档",
"ogg": "音频文件",
"otf": "字体文件",
"pages": "Pages 文档",
"pct": "图像文件",
"pdb": "Palm 数据库文件",
"pdf": "Adobe PDF 文档",
"php": "PHP 文件",
"go": "Go 源代码文件",
"pkg": "MacOS 安装包",
"pl": "Perl 文件",
"png": "图像文件",
"ppt": "PowerPoint 演示文稿",
"pptx": "PowerPoint 演示文稿",
"ps": "PostScript 文件",
"psd": "Photoshop 文件",
"py": "Python 文件",
"rar": "压缩文件",
"reg": "Windows 注册表文件",
"rm": "视频文件",
"rmvb": "视频文件",
"rom": "游戏 ROM 文件",
"rpm": "Red Hat Package Manager 安装包",
"rtf": "Rich Text Format 文档",
"sav": "存档文件",
"sh": "Shell 脚本文件",
"srt": "字幕文件",
"sql": "SQL 数据库文件",
"svg": "矢量图形文件",
"swf": "Flash 文件",
"tar": "压缩文件",
"tbz": "压缩文件",
"tbz2": "压缩文件",
"tgz": "压缩文件",
"tex": "TeX 文档",
"tga": "图像文件",
"tif": "图像文件",
"tiff": "图像文件",
"torrent": "BitTorrent 文件",
"ttf": "字体文件",
"txt": "纯文本文件",
"uue": "UUEncode 编码文件",
"vbs": "VBScript 文件",
"vcf": "联系人文件",
"wav": "音频文件",
"webm": "视频文件",
"wma": "音频文件",
"wmv": "视频文件",
"woff": "字体文件",
"wpd": "WordPerfect 文档",
"wps": "Microsoft Works 文档",
"xhtml": "网页文件",
"xls": "Excel 电子表格文件",
"xlsx": "Excel 电子表格文件",
"xml": "XML 文件",
"xpi": "Mozilla Firefox 扩展",
"xps": "Windows XPS 文档",
"yaml": "YAML 配置文件",
"yml": "YAML 配置文件",
"zip": "压缩文件",
"cmd": "命令行脚本文件",
"gadget": "Windows 桌面小工具",
"hlp": "帮助文件",
"ini": "配置文件",
"ins": "Internet 设置文件",
"isp": "Internet 设置文件",
"job": "计划任务文件",
"jse": "加密的 JavaScript 文件",
"lnk": "Windows 快捷方式",
"msc": "Microsoft 控制台文件",
"msp": "Windows Installer 补丁文件",
"mst": "Windows Installer 转换文件",
"nls": "国家化字符串文件",
"ocx": "ActiveX 控件文件",
"ops": "Office Profile Settings 文件",
"pcd": "Photo CD 图片文件",
"pif": "MS-DOS 程序快捷方式",
"prf": "Outlook 配置文件",
"pst": "Outlook 数据文件",
"scf": "Windows Explorer 命令文件",
"scr": "屏幕保护程序文件",
"sct": "Windows Script Component 文件",
"shb": "Windows 快捷方式对象文件",
"shs": "Shell Scrap Object 文件",
"sys": "系统文件",
"theme": "Windows 主题文件",
"tmp": "临时文件",
"url": "Internet 快捷方式",
"vb": "VBScript 文件",
"vbe": "VBScript 文件",
"vxd": "虚拟设备驱动程序文件",
"wsc": "Windows 脚本组件文件",
"wsf": "Windows 脚本文件",
"wsh": "Windows Script Host 设置文件",
"hta": "HTML 应用程序文件",
"cpl": "控制面板文件",
"msi": "Windows Installer 安装程序",
"nfo": "信息文本文件",
"odc": "Office 数据连接文件",
"p7b": "数字证书文件",
"spc": "数字证书文件",
"pem": "X.509 证书文件",
"cer": "X.509 证书文件",
"der": "X.509 证书文件",
"pfx": "个人信息交换格式文件",
"p12": "个人信息交换格式文件",
"pot": "PowerPoint 模板文件",
"pps": "PowerPoint 幻灯片演示文件",
"ps1": "Windows PowerShell 脚本文件",
"pub": "Publisher 文件",
"qbb": "QuickBooks 备份文件",
"qbw": "QuickBooks 公司文件",
"qxd": "QuarkXPress 文件",
"qxp": "QuarkXPress 文件",
"ra": "音频文件",
"ram": "音频文件",
"rb": "Ruby 文件",
"rdf": "RDF 文件",
"res": "资源文件",
"sdf": "Microsoft SQL Server CE 数据库文件",
"sln": "Visual Studio 解决方案文件",
"stl": "3D 模型文件",
"sub": "字幕文件",
"ssa": "字幕文件",
"ass": "字幕文件",
}
mime, ok := mimeMap[ext]
if !ok {
return "其他文件"
}
return mime
}
9 months ago
func (h *HttpServer) GetExt(fullpath string) string {
ext := filepath.Ext(filepath.Base(fullpath))
if len(ext) == 0 || ext == "." {
return ""
}
return ext[1:]
}
2 years ago
func (h *HttpServer) MIME(fullpath string) string {
ext := filepath.Ext(filepath.Base(fullpath))
if len(ext) == 0 || ext == "." {
return ""
}
ext = ext[1:]
switch ext {
case "123":
return "application/vnd.lotus-1-2-3"
case "3dml":
return "text/vnd.in3d.3dml"
case "3ds":
return "image/x-3ds"
case "3g2":
return "video/3gpp2"
case "3gp":
return "video/3gpp"
case "7z":
return "application/x-7z-compressed"
case "aab":
return "application/x-authorware-bin"
case "aac":
return "audio/x-aac"
case "aam":
return "application/x-authorware-map"
case "aas":
return "application/x-authorware-seg"
case "abs":
return "audio/x-mpeg"
case "abw":
return "application/x-abiword"
case "ac":
return "application/pkix-attr-cert"
case "acc":
return "application/vnd.americandynamics.acc"
case "ace":
return "application/x-ace-compressed"
case "acu":
return "application/vnd.acucobol"
case "acutc":
return "application/vnd.acucorp"
case "adp":
return "audio/adpcm"
case "aep":
return "application/vnd.audiograph"
case "afm":
return "application/x-font-type1"
case "afp":
return "application/vnd.ibm.modcap"
case "ahead":
return "application/vnd.ahead.space"
case "ai":
return "application/postscript"
case "aif":
return "audio/x-aiff"
case "aifc":
return "audio/x-aiff"
case "aiff":
return "audio/x-aiff"
case "aim":
return "application/x-aim"
case "air":
return "application/vnd.adobe.air-application-installer-package+zip"
case "ait":
return "application/vnd.dvb.ait"
case "ami":
return "application/vnd.amiga.ami"
case "anx":
return "application/annodex"
case "apk":
return "application/vnd.android.package-archive"
case "appcache":
return "text/cache-manifest"
case "application":
return "application/x-ms-application"
case "apr":
return "application/vnd.lotus-approach"
case "arc":
return "application/x-freearc"
case "art":
return "image/x-jg"
case "asc":
return "application/pgp-signature"
case "asf":
return "video/x-ms-asf"
case "asm":
return "text/x-asm"
case "aso":
return "application/vnd.accpac.simply.aso"
case "asx":
return "video/x-ms-asf"
case "atc":
return "application/vnd.acucorp"
case "atom":
return "application/atom+xml"
case "atomcat":
return "application/atomcat+xml"
case "atomsvc":
return "application/atomsvc+xml"
case "atx":
return "application/vnd.antix.game-component"
case "au":
return "audio/basic"
case "avi":
return "video/x-msvideo"
case "avx":
return "video/x-rad-screenplay"
case "aw":
return "application/applixware"
case "axa":
return "audio/annodex"
case "axv":
return "video/annodex"
case "azf":
return "application/vnd.airzip.filesecure.azf"
case "azs":
return "application/vnd.airzip.filesecure.azs"
case "azw":
return "application/vnd.amazon.ebook"
case "bat":
return "application/x-msdownload"
case "bcpio":
return "application/x-bcpio"
case "bdf":
return "application/x-font-bdf"
case "bdm":
return "application/vnd.syncml.dm+wbxml"
case "bed":
return "application/vnd.realvnc.bed"
case "bh2":
return "application/vnd.fujitsu.oasysprs"
case "bin":
return "application/octet-stream"
case "blb":
return "application/x-blorb"
case "blorb":
return "application/x-blorb"
case "bmi":
return "application/vnd.bmi"
case "bmp":
return "image/bmp"
case "body":
return "text/html"
case "book":
return "application/vnd.framemaker"
case "box":
return "application/vnd.previewsystems.box"
case "boz":
return "application/x-bzip2"
case "bpk":
return "application/octet-stream"
case "btif":
return "image/prs.btif"
case "bz":
return "application/x-bzip"
case "bz2":
return "application/x-bzip2"
case "c":
return "text/x-c"
case "c11amc":
return "application/vnd.cluetrust.cartomobile-config"
case "c11amz":
return "application/vnd.cluetrust.cartomobile-config-pkg"
case "c4d":
return "application/vnd.clonk.c4group"
case "c4f":
return "application/vnd.clonk.c4group"
case "c4g":
return "application/vnd.clonk.c4group"
case "c4p":
return "application/vnd.clonk.c4group"
case "c4u":
return "application/vnd.clonk.c4group"
case "cab":
return "application/vnd.ms-cab-compressed"
case "caf":
return "audio/x-caf"
case "cap":
return "application/vnd.tcpdump.pcap"
case "car":
return "application/vnd.curl.car"
case "cat":
return "application/vnd.ms-pki.seccat"
case "cb7":
return "application/x-cbr"
case "cba":
return "application/x-cbr"
case "cbr":
return "application/x-cbr"
case "cbt":
return "application/x-cbr"
case "cbz":
return "application/x-cbr"
case "cc":
return "text/x-c"
case "cct":
return "application/x-director"
case "ccxml":
return "application/ccxml+xml"
case "cdbcmsg":
return "application/vnd.contact.cmsg"
case "cdf":
return "application/x-cdf"
case "cdkey":
return "application/vnd.mediastation.cdkey"
case "cdmia":
return "application/cdmi-capability"
case "cdmic":
return "application/cdmi-container"
case "cdmid":
return "application/cdmi-domain"
case "cdmio":
return "application/cdmi-object"
case "cdmiq":
return "application/cdmi-queue"
case "cdx":
return "chemical/x-cdx"
case "cdxml":
return "application/vnd.chemdraw+xml"
case "cdy":
return "application/vnd.cinderella"
case "cer":
return "application/pkix-cert"
case "cfs":
return "application/x-cfs-compressed"
case "cgm":
return "image/cgm"
case "chat":
return "application/x-chat"
case "chm":
return "application/vnd.ms-htmlhelp"
case "chrt":
return "application/vnd.kde.kchart"
case "cif":
return "chemical/x-cif"
case "cii":
return "application/vnd.anser-web-certificate-issue-initiation"
case "cil":
return "application/vnd.ms-artgalry"
case "cla":
return "application/vnd.claymore"
case "class":
return "application/java"
case "clkk":
return "application/vnd.crick.clicker.keyboard"
case "clkp":
return "application/vnd.crick.clicker.palette"
case "clkt":
return "application/vnd.crick.clicker.template"
case "clkw":
return "application/vnd.crick.clicker.wordbank"
case "clkx":
return "application/vnd.crick.clicker"
case "clp":
return "application/x-msclip"
case "cmc":
return "application/vnd.cosmocaller"
case "cmdf":
return "chemical/x-cmdf"
case "cml":
return "chemical/x-cml"
case "cmp":
return "application/vnd.yellowriver-custom-menu"
case "cmx":
return "image/x-cmx"
case "cod":
return "application/vnd.rim.cod"
case "com":
return "application/x-msdownload"
case "conf":
return "text/plain"
case "cpio":
return "application/x-cpio"
case "cpp":
return "text/x-c"
case "cpt":
return "application/mac-compactpro"
case "crd":
return "application/x-mscardfile"
case "crl":
return "application/pkix-crl"
case "crt":
return "application/x-x509-ca-cert"
case "cryptonote":
return "application/vnd.rig.cryptonote"
case "csh":
return "application/x-csh"
case "csml":
return "chemical/x-csml"
case "csp":
return "application/vnd.commonspace"
case "css":
return "text/css"
case "cst":
return "application/x-director"
case "csv":
return "text/csv"
case "cu":
return "application/cu-seeme"
case "curl":
return "text/vnd.curl"
case "cww":
return "application/prs.cww"
case "cxt":
return "application/x-director"
case "cxx":
return "text/x-c"
case "dae":
return "model/vnd.collada+xml"
case "daf":
return "application/vnd.mobius.daf"
case "dart":
return "application/vnd.dart"
case "dataless":
return "application/vnd.fdsn.seed"
case "davmount":
return "application/davmount+xml"
case "dbk":
return "application/docbook+xml"
case "dcr":
return "application/x-director"
case "dcurl":
return "text/vnd.curl.dcurl"
case "dd2":
return "application/vnd.oma.dd2+xml"
case "ddd":
return "application/vnd.fujixerox.ddd"
case "deb":
return "application/x-debian-package"
case "def":
return "text/plain"
case "deploy":
return "application/octet-stream"
case "der":
return "application/x-x509-ca-cert"
case "dfac":
return "application/vnd.dreamfactory"
case "dgc":
return "application/x-dgc-compressed"
case "dib":
return "image/bmp"
case "dic":
return "text/x-c"
case "dir":
return "application/x-director"
case "dis":
return "application/vnd.mobius.dis"
case "dist":
return "application/octet-stream"
case "distz":
return "application/octet-stream"
case "djv":
return "image/vnd.djvu"
case "djvu":
return "image/vnd.djvu"
case "dll":
return "application/x-msdownload"
case "dmg":
return "application/x-apple-diskimage"
case "dmp":
return "application/vnd.tcpdump.pcap"
case "dms":
return "application/octet-stream"
case "dna":
return "application/vnd.dna"
case "doc":
return "application/msword"
case "docm":
return "application/vnd.ms-word.document.macroenabled.12"
case "docx":
return "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
case "dot":
return "application/msword"
case "dotm":
return "application/vnd.ms-word.template.macroenabled.12"
case "dotx":
return "application/vnd.openxmlformats-officedocument.wordprocessingml.template"
case "dp":
return "application/vnd.osgi.dp"
case "dpg":
return "application/vnd.dpgraph"
case "dra":
return "audio/vnd.dra"
case "dsc":
return "text/prs.lines.tag"
case "dssc":
return "application/dssc+der"
case "dtb":
return "application/x-dtbook+xml"
case "dtd":
return "application/xml-dtd"
case "dts":
return "audio/vnd.dts"
case "dtshd":
return "audio/vnd.dts.hd"
case "dump":
return "application/octet-stream"
case "dv":
return "video/x-dv"
case "dvb":
return "video/vnd.dvb.file"
case "dvi":
return "application/x-dvi"
case "dwf":
return "model/vnd.dwf"
case "dwg":
return "image/vnd.dwg"
case "dxf":
return "image/vnd.dxf"
case "dxp":
return "application/vnd.spotfire.dxp"
case "dxr":
return "application/x-director"
case "ecelp4800":
return "audio/vnd.nuera.ecelp4800"
case "ecelp7470":
return "audio/vnd.nuera.ecelp7470"
case "ecelp9600":
return "audio/vnd.nuera.ecelp9600"
case "ecma":
return "application/ecmascript"
case "edm":
return "application/vnd.novadigm.edm"
case "edx":
return "application/vnd.novadigm.edx"
case "efif":
return "application/vnd.picsel"
case "ei6":
return "application/vnd.pg.osasli"
case "elc":
return "application/octet-stream"
case "emf":
return "application/x-msmetafile"
case "eml":
return "message/rfc822"
case "emma":
return "application/emma+xml"
case "emz":
return "application/x-msmetafile"
case "eol":
return "audio/vnd.digital-winds"
case "eot":
return "application/vnd.ms-fontobject"
case "eps":
return "application/postscript"
case "epub":
return "application/epub+zip"
case "es3":
return "application/vnd.eszigno3+xml"
case "esa":
return "application/vnd.osgi.subsystem"
case "esf":
return "application/vnd.epson.esf"
case "et3":
return "application/vnd.eszigno3+xml"
case "etx":
return "text/x-setext"
case "eva":
return "application/x-eva"
case "evy":
return "application/x-envoy"
case "exe":
return "application/octet-stream"
case "exi":
return "application/exi"
case "ext":
return "application/vnd.novadigm.ext"
case "ez":
return "application/andrew-inset"
case "ez2":
return "application/vnd.ezpix-album"
case "ez3":
return "application/vnd.ezpix-package"
case "f":
return "text/x-fortran"
case "f4v":
return "video/x-f4v"
case "f77":
return "text/x-fortran"
case "f90":
return "text/x-fortran"
case "fbs":
return "image/vnd.fastbidsheet"
case "fcdt":
return "application/vnd.adobe.formscentral.fcdt"
case "fcs":
return "application/vnd.isac.fcs"
case "fdf":
return "application/vnd.fdf"
case "fe_launch":
return "application/vnd.denovo.fcselayout-link"
case "fg5":
return "application/vnd.fujitsu.oasysgp"
case "fgd":
return "application/x-director"
case "fh":
return "image/x-freehand"
case "fh4":
return "image/x-freehand"
case "fh5":
return "image/x-freehand"
case "fh7":
return "image/x-freehand"
case "fhc":
return "image/x-freehand"
case "fig":
return "application/x-xfig"
case "flac":
return "audio/flac"
case "fli":
return "video/x-fli"
case "flo":
return "application/vnd.micrografx.flo"
case "flv":
return "video/x-flv"
case "flw":
return "application/vnd.kde.kivio"
case "flx":
return "text/vnd.fmi.flexstor"
case "fly":
return "text/vnd.fly"
case "fm":
return "application/vnd.framemaker"
case "fnc":
return "application/vnd.frogans.fnc"
case "for":
return "text/x-fortran"
case "fpx":
return "image/vnd.fpx"
case "frame":
return "application/vnd.framemaker"
case "fsc":
return "application/vnd.fsc.weblaunch"
case "fst":
return "image/vnd.fst"
case "ftc":
return "application/vnd.fluxtime.clip"
case "fti":
return "application/vnd.anser-web-funds-transfer-initiation"
case "fvt":
return "video/vnd.fvt"
case "fxp":
return "application/vnd.adobe.fxp"
case "fxpl":
return "application/vnd.adobe.fxp"
case "fzs":
return "application/vnd.fuzzysheet"
case "g2w":
return "application/vnd.geoplan"
case "g3":
return "image/g3fax"
case "g3w":
return "application/vnd.geospace"
case "gac":
return "application/vnd.groove-account"
case "gam":
return "application/x-tads"
case "gbr":
return "application/rpki-ghostbusters"
case "gca":
return "application/x-gca-compressed"
case "gdl":
return "model/vnd.gdl"
case "geo":
return "application/vnd.dynageo"
case "gex":
return "application/vnd.geometry-explorer"
case "ggb":
return "application/vnd.geogebra.file"
case "ggt":
return "application/vnd.geogebra.tool"
case "ghf":
return "application/vnd.groove-help"
case "gif":
return "image/gif"
case "gim":
return "application/vnd.groove-identity-message"
case "gml":
return "application/gml+xml"
case "gmx":
return "application/vnd.gmx"
case "gnumeric":
return "application/x-gnumeric"
case "gph":
return "application/vnd.flographit"
case "gpx":
return "application/gpx+xml"
case "gqf":
return "application/vnd.grafeq"
case "gqs":
return "application/vnd.grafeq"
case "gram":
return "application/srgs"
case "gramps":
return "application/x-gramps-xml"
case "gre":
return "application/vnd.geometry-explorer"
case "grv":
return "application/vnd.groove-injector"
case "grxml":
return "application/srgs+xml"
case "gsf":
return "application/x-font-ghostscript"
case "gtar":
return "application/x-gtar"
case "gtm":
return "application/vnd.groove-tool-message"
case "gtw":
return "model/vnd.gtw"
case "gv":
return "text/vnd.graphviz"
case "gxf":
return "application/gxf"
case "gxt":
return "application/vnd.geonext"
case "gz":
return "application/x-gzip"
case "h":
return "text/x-c"
case "h261":
return "video/h261"
case "h263":
return "video/h263"
case "h264":
return "video/h264"
case "hal":
return "application/vnd.hal+xml"
case "hbci":
return "application/vnd.hbci"
case "hdf":
return "application/x-hdf"
case "hh":
return "text/x-c"
case "hlp":
return "application/winhlp"
case "hpgl":
return "application/vnd.hp-hpgl"
case "hpid":
return "application/vnd.hp-hpid"
case "hps":
return "application/vnd.hp-hps"
case "hqx":
return "application/mac-binhex40"
case "htc":
return "text/x-component"
case "htke":
return "application/vnd.kenameaapp"
case "htm":
return "text/html"
case "html":
return "text/html"
case "hvd":
return "application/vnd.yamaha.hv-dic"
case "hvp":
return "application/vnd.yamaha.hv-voice"
case "hvs":
return "application/vnd.yamaha.hv-script"
case "i2g":
return "application/vnd.intergeo"
case "icc":
return "application/vnd.iccprofile"
case "ice":
return "x-conference/x-cooltalk"
case "icm":
return "application/vnd.iccprofile"
case "ico":
return "image/x-icon"
case "ics":
return "text/calendar"
case "ief":
return "image/ief"
case "ifb":
return "text/calendar"
case "ifm":
return "application/vnd.shana.informed.formdata"
case "iges":
return "model/iges"
case "igl":
return "application/vnd.igloader"
case "igm":
return "application/vnd.insors.igm"
case "igs":
return "model/iges"
case "igx":
return "application/vnd.micrografx.igx"
case "iif":
return "application/vnd.shana.informed.interchange"
case "imp":
return "application/vnd.accpac.simply.imp"
case "ims":
return "application/vnd.ms-ims"
case "in":
return "text/plain"
case "ink":
return "application/inkml+xml"
case "inkml":
return "application/inkml+xml"
case "install":
return "application/x-install-instructions"
case "iota":
return "application/vnd.astraea-software.iota"
case "ipfix":
return "application/ipfix"
case "ipk":
return "application/vnd.shana.informed.package"
case "irm":
return "application/vnd.ibm.rights-management"
case "irp":
return "application/vnd.irepository.package+xml"
case "iso":
return "application/x-iso9660-image"
case "itp":
return "application/vnd.shana.informed.formtemplate"
case "ivp":
return "application/vnd.immervision-ivp"
case "ivu":
return "application/vnd.immervision-ivu"
case "jad":
return "text/vnd.sun.j2me.app-descriptor"
case "jam":
return "application/vnd.jam"
case "jar":
return "application/java-archive"
case "java":
return "text/x-java-source"
case "jisp":
return "application/vnd.jisp"
case "jlt":
return "application/vnd.hp-jlyt"
case "jnlp":
return "application/x-java-jnlp-file"
case "joda":
return "application/vnd.joost.joda-archive"
case "jpe":
return "image/jpeg"
case "jpeg":
return "image/jpeg"
case "jpg":
return "image/jpeg"
case "jpgm":
return "video/jpm"
case "jpgv":
return "video/jpeg"
case "jpm":
return "video/jpm"
case "js":
return "application/javascript"
case "jsf":
return "text/plain"
case "json":
return "application/json"
case "jsonml":
return "application/jsonml+json"
case "jspf":
return "text/plain"
case "kar":
return "audio/midi"
case "karbon":
return "application/vnd.kde.karbon"
case "kfo":
return "application/vnd.kde.kformula"
case "kia":
return "application/vnd.kidspiration"
case "kml":
return "application/vnd.google-earth.kml+xml"
case "kmz":
return "application/vnd.google-earth.kmz"
case "kne":
return "application/vnd.kinar"
case "knp":
return "application/vnd.kinar"
case "kon":
return "application/vnd.kde.kontour"
case "kpr":
return "application/vnd.kde.kpresenter"
case "kpt":
return "application/vnd.kde.kpresenter"
case "kpxx":
return "application/vnd.ds-keypoint"
case "ksp":
return "application/vnd.kde.kspread"
case "ktr":
return "application/vnd.kahootz"
case "ktx":
return "image/ktx"
case "ktz":
return "application/vnd.kahootz"
case "kwd":
return "application/vnd.kde.kword"
case "kwt":
return "application/vnd.kde.kword"
case "lasxml":
return "application/vnd.las.las+xml"
case "latex":
return "application/x-latex"
case "lbd":
return "application/vnd.llamagraphics.life-balance.desktop"
case "lbe":
return "application/vnd.llamagraphics.life-balance.exchange+xml"
case "les":
return "application/vnd.hhe.lesson-player"
case "lha":
return "application/x-lzh-compressed"
case "link66":
return "application/vnd.route66.link66+xml"
case "list":
return "text/plain"
case "list3820":
return "application/vnd.ibm.modcap"
case "listafp":
return "application/vnd.ibm.modcap"
case "lnk":
return "application/x-ms-shortcut"
case "log":
return "text/plain"
case "lostxml":
return "application/lost+xml"
case "lrf":
return "application/octet-stream"
case "lrm":
return "application/vnd.ms-lrm"
case "ltf":
return "application/vnd.frogans.ltf"
case "lvp":
return "audio/vnd.lucent.voice"
case "lwp":
return "application/vnd.lotus-wordpro"
case "lzh":
return "application/x-lzh-compressed"
case "m13":
return "application/x-msmediaview"
case "m14":
return "application/x-msmediaview"
case "m1v":
return "video/mpeg"
case "m21":
return "application/mp21"
case "m2a":
return "audio/mpeg"
case "m2v":
return "video/mpeg"
case "m3a":
return "audio/mpeg"
case "m3u":
return "audio/x-mpegurl"
case "m3u8":
return "application/vnd.apple.mpegurl"
case "m4a":
return "audio/mp4"
case "m4b":
return "audio/mp4"
case "m4r":
return "audio/mp4"
case "m4u":
return "video/vnd.mpegurl"
case "m4v":
return "video/mp4"
case "ma":
return "application/mathematica"
case "mac":
return "image/x-macpaint"
case "mads":
return "application/mads+xml"
case "mag":
return "application/vnd.ecowin.chart"
case "maker":
return "application/vnd.framemaker"
case "man":
return "text/troff"
case "mar":
return "application/octet-stream"
case "mathml":
return "application/mathml+xml"
case "mb":
return "application/mathematica"
case "mbk":
return "application/vnd.mobius.mbk"
case "mbox":
return "application/mbox"
case "mc1":
return "application/vnd.medcalcdata"
case "mcd":
return "application/vnd.mcd"
case "mcurl":
return "text/vnd.curl.mcurl"
case "mdb":
return "application/x-msaccess"
case "mdi":
return "image/vnd.ms-modi"
case "me":
return "text/troff"
case "mesh":
return "model/mesh"
case "meta4":
return "application/metalink4+xml"
case "metalink":
return "application/metalink+xml"
case "mets":
return "application/mets+xml"
case "mfm":
return "application/vnd.mfmp"
case "mft":
return "application/rpki-manifest"
case "mgp":
return "application/vnd.osgeo.mapguide.package"
case "mgz":
return "application/vnd.proteus.magazine"
case "mid":
return "audio/midi"
case "midi":
return "audio/midi"
case "mie":
return "application/x-mie"
case "mif":
return "application/x-mif"
case "mime":
return "message/rfc822"
case "mj2":
return "video/mj2"
case "mjp2":
return "video/mj2"
case "mk3d":
return "video/x-matroska"
case "mka":
return "audio/x-matroska"
case "mks":
return "video/x-matroska"
case "mkv":
return "video/x-matroska"
case "mlp":
return "application/vnd.dolby.mlp"
case "mmd":
return "application/vnd.chipnuts.karaoke-mmd"
case "mmf":
return "application/vnd.smaf"
case "mmr":
return "image/vnd.fujixerox.edmics-mmr"
case "mng":
return "video/x-mng"
case "mny":
return "application/x-msmoney"
case "mobi":
return "application/x-mobipocket-ebook"
case "mods":
return "application/mods+xml"
case "mov":
return "video/quicktime"
case "movie":
return "video/x-sgi-movie"
case "mp1":
return "audio/mpeg"
case "mp2":
return "audio/mpeg"
case "mp21":
return "application/mp21"
case "mp2a":
return "audio/mpeg"
case "mp3":
return "audio/mpeg"
case "mp4":
return "video/mp4"
case "mp4a":
return "audio/mp4"
case "mp4s":
return "application/mp4"
case "mp4v":
return "video/mp4"
case "mpa":
return "audio/mpeg"
case "mpc":
return "application/vnd.mophun.certificate"
case "mpe":
return "video/mpeg"
case "mpeg":
return "video/mpeg"
case "mpega":
return "audio/x-mpeg"
case "mpg":
return "video/mpeg"
case "mpg4":
return "video/mp4"
case "mpga":
return "audio/mpeg"
case "mpkg":
return "application/vnd.apple.installer+xml"
case "mpm":
return "application/vnd.blueice.multipass"
case "mpn":
return "application/vnd.mophun.application"
case "mpp":
return "application/vnd.ms-project"
case "mpt":
return "application/vnd.ms-project"
case "mpv2":
return "video/mpeg2"
case "mpy":
return "application/vnd.ibm.minipay"
case "mqy":
return "application/vnd.mobius.mqy"
case "mrc":
return "application/marc"
case "mrcx":
return "application/marcxml+xml"
case "ms":
return "text/troff"
case "mscml":
return "application/mediaservercontrol+xml"
case "mseed":
return "application/vnd.fdsn.mseed"
case "mseq":
return "application/vnd.mseq"
case "msf":
return "application/vnd.epson.msf"
case "msh":
return "model/mesh"
case "msi":
return "application/x-msdownload"
case "msl":
return "application/vnd.mobius.msl"
case "msty":
return "application/vnd.muvee.style"
case "mts":
return "model/vnd.mts"
case "mus":
return "application/vnd.musician"
case "musicxml":
return "application/vnd.recordare.musicxml+xml"
case "mvb":
return "application/x-msmediaview"
case "mwf":
return "application/vnd.mfer"
case "mxf":
return "application/mxf"
case "mxl":
return "application/vnd.recordare.musicxml"
case "mxml":
return "application/xv+xml"
case "mxs":
return "application/vnd.triscape.mxs"
case "mxu":
return "video/vnd.mpegurl"
case "n-gage":
return "application/vnd.nokia.n-gage.symbian.install"
case "n3":
return "text/n3"
case "nb":
return "application/mathematica"
case "nbp":
return "application/vnd.wolfram.player"
case "nc":
return "application/x-netcdf"
case "ncx":
return "application/x-dtbncx+xml"
case "nfo":
return "text/x-nfo"
case "ngdat":
return "application/vnd.nokia.n-gage.data"
case "nitf":
return "application/vnd.nitf"
case "nlu":
return "application/vnd.neurolanguage.nlu"
case "nml":
return "application/vnd.enliven"
case "nnd":
return "application/vnd.noblenet-directory"
case "nns":
return "application/vnd.noblenet-sealer"
case "nnw":
return "application/vnd.noblenet-web"
case "npx":
return "image/vnd.net-fpx"
case "nsc":
return "application/x-conference"
case "nsf":
return "application/vnd.lotus-notes"
case "ntf":
return "application/vnd.nitf"
case "nzb":
return "application/x-nzb"
case "oa2":
return "application/vnd.fujitsu.oasys2"
case "oa3":
return "application/vnd.fujitsu.oasys3"
case "oas":
return "application/vnd.fujitsu.oasys"
case "obd":
return "application/x-msbinder"
case "obj":
return "application/x-tgif"
case "oda":
return "application/oda"
case "odb":
return "application/vnd.oasis.opendocument.database"
case "odc":
return "application/vnd.oasis.opendocument.chart"
case "odf":
return "application/vnd.oasis.opendocument.formula"
case "odft":
return "application/vnd.oasis.opendocument.formula-template"
case "odg":
return "application/vnd.oasis.opendocument.graphics"
case "odi":
return "application/vnd.oasis.opendocument.image"
case "odm":
return "application/vnd.oasis.opendocument.text-master"
case "odp":
return "application/vnd.oasis.opendocument.presentation"
case "ods":
return "application/vnd.oasis.opendocument.spreadsheet"
case "odt":
return "application/vnd.oasis.opendocument.text"
case "oga":
return "audio/ogg"
case "ogg":
return "audio/ogg"
case "ogv":
return "video/ogg"
case "ogx":
return "application/ogg"
case "omdoc":
return "application/omdoc+xml"
case "onepkg":
return "application/onenote"
case "onetmp":
return "application/onenote"
case "onetoc":
return "application/onenote"
case "onetoc2":
return "application/onenote"
case "opf":
return "application/oebps-package+xml"
case "opml":
return "text/x-opml"
case "oprc":
return "application/vnd.palm"
case "org":
return "application/vnd.lotus-organizer"
case "osf":
return "application/vnd.yamaha.openscoreformat"
case "osfpvg":
return "application/vnd.yamaha.openscoreformat.osfpvg+xml"
case "otc":
return "application/vnd.oasis.opendocument.chart-template"
case "otf":
return "application/x-font-otf"
case "otg":
return "application/vnd.oasis.opendocument.graphics-template"
case "oth":
return "application/vnd.oasis.opendocument.text-web"
case "oti":
return "application/vnd.oasis.opendocument.image-template"
case "otp":
return "application/vnd.oasis.opendocument.presentation-template"
case "ots":
return "application/vnd.oasis.opendocument.spreadsheet-template"
case "ott":
return "application/vnd.oasis.opendocument.text-template"
case "oxps":
return "application/oxps"
case "oxt":
return "application/vnd.openofficeorg.extension"
case "p":
return "text/x-pascal"
case "p10":
return "application/pkcs10"
case "p12":
return "application/x-pkcs12"
case "p7b":
return "application/x-pkcs7-certificates"
case "p7c":
return "application/pkcs7-mime"
case "p7m":
return "application/pkcs7-mime"
case "p7r":
return "application/x-pkcs7-certreqresp"
case "p7s":
return "application/pkcs7-signature"
case "p8":
return "application/pkcs8"
case "pas":
return "text/x-pascal"
case "paw":
return "application/vnd.pawaafile"
case "pbd":
return "application/vnd.powerbuilder6"
case "pbm":
return "image/x-portable-bitmap"
case "pcap":
return "application/vnd.tcpdump.pcap"
case "pcf":
return "application/x-font-pcf"
case "pcl":
return "application/vnd.hp-pcl"
case "pclxl":
return "application/vnd.hp-pclxl"
case "pct":
return "image/pict"
case "pcurl":
return "application/vnd.curl.pcurl"
case "pcx":
return "image/x-pcx"
case "pdb":
return "application/vnd.palm"
case "pdf":
return "application/pdf"
case "pfa":
return "application/x-font-type1"
case "pfb":
return "application/x-font-type1"
case "pfm":
return "application/x-font-type1"
case "pfr":
return "application/font-tdpfr"
case "pfx":
return "application/x-pkcs12"
case "pgm":
return "image/x-portable-graymap"
case "pgn":
return "application/x-chess-pgn"
case "pgp":
return "application/pgp-encrypted"
case "pic":
return "image/pict"
case "pict":
return "image/pict"
case "pkg":
return "application/octet-stream"
case "pki":
return "application/pkixcmp"
case "pkipath":
return "application/pkix-pkipath"
case "plb":
return "application/vnd.3gpp.pic-bw-large"
case "plc":
return "application/vnd.mobius.plc"
case "plf":
return "application/vnd.pocketlearn"
case "pls":
return "audio/x-scpls"
case "pml":
return "application/vnd.ctc-posml"
case "png":
return "image/png"
case "pnm":
return "image/x-portable-anymap"
case "pnt":
return "image/x-macpaint"
case "portpkg":
return "application/vnd.macports.portpkg"
case "pot":
return "application/vnd.ms-powerpoint"
case "potm":
return "application/vnd.ms-powerpoint.template.macroenabled.12"
case "potx":
return "application/vnd.openxmlformats-officedocument.presentationml.template"
case "ppam":
return "application/vnd.ms-powerpoint.addin.macroenabled.12"
case "ppd":
return "application/vnd.cups-ppd"
case "ppm":
return "image/x-portable-pixmap"
case "pps":
return "application/vnd.ms-powerpoint"
case "ppsm":
return "application/vnd.ms-powerpoint.slideshow.macroenabled.12"
case "ppsx":
return "application/vnd.openxmlformats-officedocument.presentationml.slideshow"
case "ppt":
return "application/vnd.ms-powerpoint"
case "pptm":
return "application/vnd.ms-powerpoint.presentation.macroenabled.12"
case "pptx":
return "application/vnd.openxmlformats-officedocument.presentationml.presentation"
case "pqa":
return "application/vnd.palm"
case "prc":
return "application/x-mobipocket-ebook"
case "pre":
return "application/vnd.lotus-freelance"
case "prf":
return "application/pics-rules"
case "ps":
return "application/postscript"
case "psb":
return "application/vnd.3gpp.pic-bw-small"
case "psd":
return "image/vnd.adobe.photoshop"
case "psf":
return "application/x-font-linux-psf"
case "pskcxml":
return "application/pskc+xml"
case "ptid":
return "application/vnd.pvi.ptid1"
case "pub":
return "application/x-mspublisher"
case "pvb":
return "application/vnd.3gpp.pic-bw-var"
case "pwn":
return "application/vnd.3m.post-it-notes"
case "pya":
return "audio/vnd.ms-playready.media.pya"
case "pyv":
return "video/vnd.ms-playready.media.pyv"
case "qam":
return "application/vnd.epson.quickanime"
case "qbo":
return "application/vnd.intu.qbo"
case "qfx":
return "application/vnd.intu.qfx"
case "qps":
return "application/vnd.publishare-delta-tree"
case "qt":
return "video/quicktime"
case "qti":
return "image/x-quicktime"
case "qtif":
return "image/x-quicktime"
case "qwd":
return "application/vnd.quark.quarkxpress"
case "qwt":
return "application/vnd.quark.quarkxpress"
case "qxb":
return "application/vnd.quark.quarkxpress"
case "qxd":
return "application/vnd.quark.quarkxpress"
case "qxl":
return "application/vnd.quark.quarkxpress"
case "qxt":
return "application/vnd.quark.quarkxpress"
case "ra":
return "audio/x-pn-realaudio"
case "ram":
return "audio/x-pn-realaudio"
case "rar":
return "application/x-rar-compressed"
case "ras":
return "image/x-cmu-raster"
case "rcprofile":
return "application/vnd.ipunplugged.rcprofile"
case "rdf":
return "application/rdf+xml"
case "rdz":
return "application/vnd.data-vision.rdz"
case "rep":
return "application/vnd.businessobjects"
case "res":
return "application/x-dtbresource+xml"
case "rgb":
return "image/x-rgb"
case "rif":
return "application/reginfo+xml"
case "rip":
return "audio/vnd.rip"
case "ris":
return "application/x-research-info-systems"
case "rl":
return "application/resource-lists+xml"
case "rlc":
return "image/vnd.fujixerox.edmics-rlc"
case "rld":
return "application/resource-lists-diff+xml"
case "rm":
return "application/vnd.rn-realmedia"
case "rmi":
return "audio/midi"
case "rmp":
return "audio/x-pn-realaudio-plugin"
case "rms":
return "application/vnd.jcp.javame.midlet-rms"
case "rmvb":
return "application/vnd.rn-realmedia-vbr"
case "rnc":
return "application/relax-ng-compact-syntax"
case "roa":
return "application/rpki-roa"
case "roff":
return "text/troff"
case "rp9":
return "application/vnd.cloanto.rp9"
case "rpss":
return "application/vnd.nokia.radio-presets"
case "rpst":
return "application/vnd.nokia.radio-preset"
case "rq":
return "application/sparql-query"
case "rs":
return "application/rls-services+xml"
case "rsd":
return "application/rsd+xml"
case "rss":
return "application/rss+xml"
case "rtf":
return "application/rtf"
case "rtx":
return "text/richtext"
case "s":
return "text/x-asm"
case "s3m":
return "audio/s3m"
case "saf":
return "application/vnd.yamaha.smaf-audio"
case "sbml":
return "application/sbml+xml"
case "sc":
return "application/vnd.ibm.secure-container"
case "scd":
return "application/x-msschedule"
case "scm":
return "application/vnd.lotus-screencam"
case "scq":
return "application/scvp-cv-request"
case "scs":
return "application/scvp-cv-response"
case "scurl":
return "text/vnd.curl.scurl"
case "sda":
return "application/vnd.stardivision.draw"
case "sdc":
return "application/vnd.stardivision.calc"
case "sdd":
return "application/vnd.stardivision.impress"
case "sdkd":
return "application/vnd.solent.sdkm+xml"
case "sdkm":
return "application/vnd.solent.sdkm+xml"
case "sdp":
return "application/sdp"
case "sdw":
return "application/vnd.stardivision.writer"
case "see":
return "application/vnd.seemail"
case "seed":
return "application/vnd.fdsn.seed"
case "sema":
return "application/vnd.sema"
case "semd":
return "application/vnd.semd"
case "semf":
return "application/vnd.semf"
case "ser":
return "application/java-serialized-object"
case "setpay":
return "application/set-payment-initiation"
case "setreg":
return "application/set-registration-initiation"
case "sfd-hdstx":
return "application/vnd.hydrostatix.sof-data"
case "sfs":
return "application/vnd.spotfire.sfs"
case "sfv":
return "text/x-sfv"
case "sgi":
return "image/sgi"
case "sgl":
return "application/vnd.stardivision.writer-global"
case "sgm":
return "text/sgml"
case "sgml":
return "text/sgml"
case "sh":
return "application/x-sh"
case "shar":
return "application/x-shar"
case "shf":
return "application/shf+xml"
case "sid":
return "image/x-mrsid-image"
case "sig":
return "application/pgp-signature"
case "sil":
return "audio/silk"
case "silo":
return "model/mesh"
case "sis":
return "application/vnd.symbian.install"
case "sisx":
return "application/vnd.symbian.install"
case "sit":
return "application/x-stuffit"
case "sitx":
return "application/x-stuffitx"
case "skd":
return "application/vnd.koan"
case "skm":
return "application/vnd.koan"
case "skp":
return "application/vnd.koan"
case "skt":
return "application/vnd.koan"
case "sldm":
return "application/vnd.ms-powerpoint.slide.macroenabled.12"
case "sldx":
return "application/vnd.openxmlformats-officedocument.presentationml.slide"
case "slt":
return "application/vnd.epson.salt"
case "sm":
return "application/vnd.stepmania.stepchart"
case "smf":
return "application/vnd.stardivision.math"
case "smi":
return "application/smil+xml"
case "smil":
return "application/smil+xml"
case "smv":
return "video/x-smv"
case "smzip":
return "application/vnd.stepmania.package"
case "snd":
return "audio/basic"
case "snf":
return "application/x-font-snf"
case "so":
return "application/octet-stream"
case "spc":
return "application/x-pkcs7-certificates"
case "spf":
return "application/vnd.yamaha.smaf-phrase"
case "spl":
return "application/x-futuresplash"
case "spot":
return "text/vnd.in3d.spot"
case "spp":
return "application/scvp-vp-response"
case "spq":
return "application/scvp-vp-request"
case "spx":
return "audio/ogg"
case "sql":
return "application/x-sql"
case "src":
return "application/x-wais-source"
case "srt":
return "application/x-subrip"
case "sru":
return "application/sru+xml"
case "srx":
return "application/sparql-results+xml"
case "ssdl":
return "application/ssdl+xml"
case "sse":
return "application/vnd.kodak-descriptor"
case "ssf":
return "application/vnd.epson.ssf"
case "ssml":
return "application/ssml+xml"
case "st":
return "application/vnd.sailingtracker.track"
case "stc":
return "application/vnd.sun.xml.calc.template"
case "std":
return "application/vnd.sun.xml.draw.template"
case "stf":
return "application/vnd.wt.stf"
case "sti":
return "application/vnd.sun.xml.impress.template"
case "stk":
return "application/hyperstudio"
case "stl":
return "application/vnd.ms-pki.stl"
case "str":
return "application/vnd.pg.format"
case "stw":
return "application/vnd.sun.xml.writer.template"
case "sub":
return "text/vnd.dvb.subtitle"
case "sus":
return "application/vnd.sus-calendar"
case "susp":
return "application/vnd.sus-calendar"
case "sv4cpio":
return "application/x-sv4cpio"
case "sv4crc":
return "application/x-sv4crc"
case "svc":
return "application/vnd.dvb.service"
case "svd":
return "application/vnd.svd"
case "svg":
return "image/svg+xml"
case "svgz":
return "image/svg+xml"
case "swa":
return "application/x-director"
case "swf":
return "application/x-shockwave-flash"
case "swi":
return "application/vnd.aristanetworks.swi"
case "sxc":
return "application/vnd.sun.xml.calc"
case "sxd":
return "application/vnd.sun.xml.draw"
case "sxg":
return "application/vnd.sun.xml.writer.global"
case "sxi":
return "application/vnd.sun.xml.impress"
case "sxm":
return "application/vnd.sun.xml.math"
case "sxw":
return "application/vnd.sun.xml.writer"
case "t":
return "text/troff"
case "t3":
return "application/x-t3vm-image"
case "taglet":
return "application/vnd.mynfc"
case "tao":
return "application/vnd.tao.intent-module-archive"
case "tar":
return "application/x-tar"
case "tcap":
return "application/vnd.3gpp2.tcap"
case "tcl":
return "application/x-tcl"
case "teacher":
return "application/vnd.smart.teacher"
case "tei":
return "application/tei+xml"
case "teicorpus":
return "application/tei+xml"
case "tex":
return "application/x-tex"
case "texi":
return "application/x-texinfo"
case "texinfo":
return "application/x-texinfo"
case "text":
return "text/plain"
case "tfi":
return "application/thraud+xml"
case "tfm":
return "application/x-tex-tfm"
case "tga":
return "image/x-tga"
case "thmx":
return "application/vnd.ms-officetheme"
case "tif":
return "image/tiff"
case "tiff":
return "image/tiff"
case "tmo":
return "application/vnd.tmobile-livetv"
case "torrent":
return "application/x-bittorrent"
case "tpl":
return "application/vnd.groove-tool-template"
case "tpt":
return "application/vnd.trid.tpt"
case "tr":
return "text/troff"
case "tra":
return "application/vnd.trueapp"
case "trm":
return "application/x-msterminal"
case "tsd":
return "application/timestamped-data"
case "tsv":
return "text/tab-separated-values"
case "ttc":
return "application/x-font-ttf"
case "ttf":
return "application/x-font-ttf"
case "ttl":
return "text/turtle"
case "twd":
return "application/vnd.simtech-mindmapper"
case "twds":
return "application/vnd.simtech-mindmapper"
case "txd":
return "application/vnd.genomatix.tuxedo"
case "txf":
return "application/vnd.mobius.txf"
case "txt":
return "text/plain"
case "u32":
return "application/x-authorware-bin"
case "udeb":
return "application/x-debian-package"
case "ufd":
return "application/vnd.ufdl"
case "ufdl":
return "application/vnd.ufdl"
case "ulw":
return "audio/basic"
case "ulx":
return "application/x-glulx"
case "umj":
return "application/vnd.umajin"
case "unityweb":
return "application/vnd.unity"
case "uoml":
return "application/vnd.uoml+xml"
case "uri":
return "text/uri-list"
case "uris":
return "text/uri-list"
case "urls":
return "text/uri-list"
case "ustar":
return "application/x-ustar"
case "utz":
return "application/vnd.uiq.theme"
case "uu":
return "text/x-uuencode"
case "uva":
return "audio/vnd.dece.audio"
case "uvd":
return "application/vnd.dece.data"
case "uvf":
return "application/vnd.dece.data"
case "uvg":
return "image/vnd.dece.graphic"
case "uvh":
return "video/vnd.dece.hd"
case "uvi":
return "image/vnd.dece.graphic"
case "uvm":
return "video/vnd.dece.mobile"
case "uvp":
return "video/vnd.dece.pd"
case "uvs":
return "video/vnd.dece.sd"
case "uvt":
return "application/vnd.dece.ttml+xml"
case "uvu":
return "video/vnd.uvvu.mp4"
case "uvv":
return "video/vnd.dece.video"
case "uvva":
return "audio/vnd.dece.audio"
case "uvvd":
return "application/vnd.dece.data"
case "uvvf":
return "application/vnd.dece.data"
case "uvvg":
return "image/vnd.dece.graphic"
case "uvvh":
return "video/vnd.dece.hd"
case "uvvi":
return "image/vnd.dece.graphic"
case "uvvm":
return "video/vnd.dece.mobile"
case "uvvp":
return "video/vnd.dece.pd"
case "uvvs":
return "video/vnd.dece.sd"
case "uvvt":
return "application/vnd.dece.ttml+xml"
case "uvvu":
return "video/vnd.uvvu.mp4"
case "uvvv":
return "video/vnd.dece.video"
case "uvvx":
return "application/vnd.dece.unspecified"
case "uvvz":
return "application/vnd.dece.zip"
case "uvx":
return "application/vnd.dece.unspecified"
case "uvz":
return "application/vnd.dece.zip"
case "vcard":
return "text/vcard"
case "vcd":
return "application/x-cdlink"
case "vcf":
return "text/x-vcard"
case "vcg":
return "application/vnd.groove-vcard"
case "vcs":
return "text/x-vcalendar"
case "vcx":
return "application/vnd.vcx"
case "vis":
return "application/vnd.visionary"
case "viv":
return "video/vnd.vivo"
case "vob":
return "video/x-ms-vob"
case "vor":
return "application/vnd.stardivision.writer"
case "vox":
return "application/x-authorware-bin"
case "vrml":
return "model/vrml"
case "vsd":
return "application/vnd.visio"
case "vsf":
return "application/vnd.vsf"
case "vss":
return "application/vnd.visio"
case "vst":
return "application/vnd.visio"
case "vsw":
return "application/vnd.visio"
case "vtu":
return "model/vnd.vtu"
case "vxml":
return "application/voicexml+xml"
case "w3d":
return "application/x-director"
case "wad":
return "application/x-doom"
case "wav":
return "audio/x-wav"
case "wax":
return "audio/x-ms-wax"
case "wbmp":
return "image/vnd.wap.wbmp"
case "wbs":
return "application/vnd.criticaltools.wbs+xml"
case "wbxml":
return "application/vnd.wap.wbxml"
case "wcm":
return "application/vnd.ms-works"
case "wdb":
return "application/vnd.ms-works"
case "wdp":
return "image/vnd.ms-photo"
case "weba":
return "audio/webm"
case "webm":
return "video/webm"
case "webp":
return "image/webp"
case "wg":
return "application/vnd.pmi.widget"
case "wgt":
return "application/widget"
case "wks":
return "application/vnd.ms-works"
case "wm":
return "video/x-ms-wm"
case "wma":
return "audio/x-ms-wma"
case "wmd":
return "application/x-ms-wmd"
case "wmf":
return "application/x-msmetafile"
case "wml":
return "text/vnd.wap.wml"
case "wmlc":
return "application/vnd.wap.wmlc"
case "wmls":
return "text/vnd.wap.wmlscript"
case "wmlsc":
return "application/vnd.wap.wmlscriptc"
case "wmv":
return "video/x-ms-wmv"
case "wmx":
return "video/x-ms-wmx"
case "wmz":
return "application/x-msmetafile"
case "woff":
return "application/x-font-woff"
case "wpd":
return "application/vnd.wordperfect"
case "wpl":
return "application/vnd.ms-wpl"
case "wps":
return "application/vnd.ms-works"
case "wqd":
return "application/vnd.wqd"
case "wri":
return "application/x-mswrite"
case "wrl":
return "model/vrml"
case "wsdl":
return "application/wsdl+xml"
case "wspolicy":
return "application/wspolicy+xml"
case "wtb":
return "application/vnd.webturbo"
case "wvx":
return "video/x-ms-wvx"
case "x32":
return "application/x-authorware-bin"
case "x3d":
return "model/x3d+xml"
case "x3db":
return "model/x3d+binary"
case "x3dbz":
return "model/x3d+binary"
case "x3dv":
return "model/x3d+vrml"
case "x3dvz":
return "model/x3d+vrml"
case "x3dz":
return "model/x3d+xml"
case "xaml":
return "application/xaml+xml"
case "xap":
return "application/x-silverlight-app"
case "xar":
return "application/vnd.xara"
case "xbap":
return "application/x-ms-xbap"
case "xbd":
return "application/vnd.fujixerox.docuworks.binder"
case "xbm":
return "image/x-xbitmap"
case "xdf":
return "application/xcap-diff+xml"
case "xdm":
return "application/vnd.syncml.dm+xml"
case "xdp":
return "application/vnd.adobe.xdp+xml"
case "xdssc":
return "application/dssc+xml"
case "xdw":
return "application/vnd.fujixerox.docuworks"
case "xenc":
return "application/xenc+xml"
case "xer":
return "application/patch-ops-error+xml"
case "xfdf":
return "application/vnd.adobe.xfdf"
case "xfdl":
return "application/vnd.xfdl"
case "xht":
return "application/xhtml+xml"
case "xhtml":
return "application/xhtml+xml"
case "xhvml":
return "application/xv+xml"
case "xif":
return "image/vnd.xiff"
case "xla":
return "application/vnd.ms-excel"
case "xlam":
return "application/vnd.ms-excel.addin.macroenabled.12"
case "xlc":
return "application/vnd.ms-excel"
case "xlf":
return "application/x-xliff+xml"
case "xlm":
return "application/vnd.ms-excel"
case "xls":
return "application/vnd.ms-excel"
case "xlsb":
return "application/vnd.ms-excel.sheet.binary.macroenabled.12"
case "xlsm":
return "application/vnd.ms-excel.sheet.macroenabled.12"
case "xlsx":
return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
case "xlt":
return "application/vnd.ms-excel"
case "xltm":
return "application/vnd.ms-excel.template.macroenabled.12"
case "xltx":
return "application/vnd.openxmlformats-officedocument.spreadsheetml.template"
case "xlw":
return "application/vnd.ms-excel"
case "xm":
return "audio/xm"
case "xml":
return "application/xml"
case "xo":
return "application/vnd.olpc-sugar"
case "xop":
return "application/xop+xml"
case "xpi":
return "application/x-xpinstall"
case "xpl":
return "application/xproc+xml"
case "xpm":
return "image/x-xpixmap"
case "xpr":
return "application/vnd.is-xpr"
case "xps":
return "application/vnd.ms-xpsdocument"
case "xpw":
return "application/vnd.intercon.formnet"
case "xpx":
return "application/vnd.intercon.formnet"
case "xsl":
return "application/xml"
case "xslt":
return "application/xslt+xml"
case "xsm":
return "application/vnd.syncml+xml"
case "xspf":
return "application/xspf+xml"
case "xul":
return "application/vnd.mozilla.xul+xml"
case "xvm":
return "application/xv+xml"
case "xvml":
return "application/xv+xml"
case "xwd":
return "image/x-xwindowdump"
case "xyz":
return "chemical/x-xyz"
case "xz":
return "application/x-xz"
case "yang":
return "application/yang"
case "yin":
return "application/yin+xml"
case "z":
return "application/x-compress"
case "Z":
return "application/x-compress"
case "z1":
return "application/x-zmachine"
case "z2":
return "application/x-zmachine"
case "z3":
return "application/x-zmachine"
case "z4":
return "application/x-zmachine"
case "z5":
return "application/x-zmachine"
case "z6":
return "application/x-zmachine"
case "z7":
return "application/x-zmachine"
case "z8":
return "application/x-zmachine"
case "zaz":
return "application/vnd.zzazz.deck+xml"
case "zip":
return "application/zip"
case "zir":
return "application/vnd.zul"
case "zirz":
return "application/vnd.zul"
case "zmm":
return "application/vnd.handheld-entertainment+xml"
default:
return ""
}
return ""
}