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.
2253 lines
55 KiB
Go
2253 lines
55 KiB
Go
package httpserver
|
|
|
|
import "path/filepath"
|
|
|
|
func (h *HttpServer) FileType(name string) string {
|
|
ext := filepath.Ext(name)
|
|
if len(ext) == 0 || ext == "." {
|
|
return "文件"
|
|
}
|
|
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
|
|
}
|
|
|
|
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 ""
|
|
}
|