635 lines
28 KiB
Go
635 lines
28 KiB
Go
package rest
|
|
|
|
import (
|
|
"path/filepath"
|
|
"strings"
|
|
)
|
|
|
|
//根据文件名字获取后缀名,均是小写。
|
|
func GetExtension(filename string) string {
|
|
|
|
var extension = filepath.Ext(filename)
|
|
|
|
return strings.ToLower(extension)
|
|
|
|
}
|
|
|
|
//根据一个后缀名获取MimeType
|
|
func GetMimeType(filename string) string {
|
|
|
|
extension := GetExtension(filename)
|
|
|
|
mimeMap := map[string]string{
|
|
".323": "text/h323",
|
|
".3g2": "video/3gpp2",
|
|
".3gp": "video/3gpp",
|
|
".3gp2": "video/3gpp2",
|
|
".3gpp": "video/3gpp",
|
|
".7z": "application/x-7z-compressed",
|
|
".aa": "audio/audible",
|
|
".AAC": "audio/aac",
|
|
".aaf": "application/octet-stream",
|
|
".aax": "audio/vnd.audible.aax",
|
|
".ac3": "audio/ac3",
|
|
".aca": "application/octet-stream",
|
|
".accda": "application/msaccess.addin",
|
|
".accdb": "application/msaccess",
|
|
".accdc": "application/msaccess.cab",
|
|
".accde": "application/msaccess",
|
|
".accdr": "application/msaccess.runtime",
|
|
".accdt": "application/msaccess",
|
|
".accdw": "application/msaccess.webapplication",
|
|
".accft": "application/msaccess.ftemplate",
|
|
".acx": "application/internet-property-stream",
|
|
".AddIn": "text/xml",
|
|
".ade": "application/msaccess",
|
|
".adobebridge": "application/x-bridge-url",
|
|
".adp": "application/msaccess",
|
|
".ADT": "audio/vnd.dlna.adts",
|
|
".ADTS": "audio/aac",
|
|
".afm": "application/octet-stream",
|
|
".ai": "application/postscript",
|
|
".aif": "audio/aiff",
|
|
".aifc": "audio/aiff",
|
|
".aiff": "audio/aiff",
|
|
".air": "application/vnd.adobe.air-application-installer-package+zip",
|
|
".amc": "application/mpeg",
|
|
".anx": "application/annodex",
|
|
".apk": "application/vnd.android.package-archive",
|
|
".application": "application/x-ms-application",
|
|
".art": "image/x-jg",
|
|
".asa": "application/xml",
|
|
".asax": "application/xml",
|
|
".ascx": "application/xml",
|
|
".asd": "application/octet-stream",
|
|
".asf": "video/x-ms-asf",
|
|
".ashx": "application/xml",
|
|
".asi": "application/octet-stream",
|
|
".asm": "text/plain",
|
|
".asmx": "application/xml",
|
|
".aspx": "application/xml",
|
|
".asr": "video/x-ms-asf",
|
|
".asx": "video/x-ms-asf",
|
|
".atom": "application/atom+xml",
|
|
".au": "audio/basic",
|
|
".avi": "video/x-msvideo",
|
|
".axa": "audio/annodex",
|
|
".axs": "application/olescript",
|
|
".axv": "video/annodex",
|
|
".bas": "text/plain",
|
|
".bcpio": "application/x-bcpio",
|
|
".bin": "application/octet-stream",
|
|
".bmp": "image/bmp",
|
|
".c": "text/plain",
|
|
".cab": "application/octet-stream",
|
|
".caf": "audio/x-caf",
|
|
".calx": "application/vnd.ms-office.calx",
|
|
".cat": "application/vnd.ms-pki.seccat",
|
|
".cc": "text/plain",
|
|
".cd": "text/plain",
|
|
".cdda": "audio/aiff",
|
|
".cdf": "application/x-cdf",
|
|
".cer": "application/x-x509-ca-cert",
|
|
".cfg": "text/plain",
|
|
".chm": "application/octet-stream",
|
|
".class": "application/x-java-applet",
|
|
".clp": "application/x-msclip",
|
|
".cmd": "text/plain",
|
|
".cmx": "image/x-cmx",
|
|
".cnf": "text/plain",
|
|
".cod": "image/cis-cod",
|
|
".config": "application/xml",
|
|
".contact": "text/x-ms-contact",
|
|
".coverage": "application/xml",
|
|
".cpio": "application/x-cpio",
|
|
".cpp": "text/plain",
|
|
".crd": "application/x-mscardfile",
|
|
".crl": "application/pkix-crl",
|
|
".crt": "application/x-x509-ca-cert",
|
|
".cs": "text/plain",
|
|
".csdproj": "text/plain",
|
|
".csh": "application/x-csh",
|
|
".csproj": "text/plain",
|
|
".css": "text/css",
|
|
".csv": "text/csv",
|
|
".cur": "application/octet-stream",
|
|
".cxx": "text/plain",
|
|
".dat": "application/octet-stream",
|
|
".datasource": "application/xml",
|
|
".dbproj": "text/plain",
|
|
".dcr": "application/x-director",
|
|
".def": "text/plain",
|
|
".deploy": "application/octet-stream",
|
|
".der": "application/x-x509-ca-cert",
|
|
".dgml": "application/xml",
|
|
".dib": "image/bmp",
|
|
".dif": "video/x-dv",
|
|
".dir": "application/x-director",
|
|
".disco": "text/xml",
|
|
".divx": "video/divx",
|
|
".dll": "application/x-msdownload",
|
|
".dll.config": "text/xml",
|
|
".dlm": "text/dlm",
|
|
".doc": "application/msword",
|
|
".docm": "application/vnd.ms-word.document.macroEnabled.12",
|
|
".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
".dot": "application/msword",
|
|
".dotm": "application/vnd.ms-word.template.macroEnabled.12",
|
|
".dotx": "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
|
|
".dsp": "application/octet-stream",
|
|
".dsw": "text/plain",
|
|
".dtd": "text/xml",
|
|
".dtsConfig": "text/xml",
|
|
".dv": "video/x-dv",
|
|
".dvi": "application/x-dvi",
|
|
".dwf": "drawing/x-dwf",
|
|
".dwg": "application/acad",
|
|
".dwp": "application/octet-stream",
|
|
".dxf": "application/x-dxf",
|
|
".dxr": "application/x-director",
|
|
".eml": "message/rfc822",
|
|
".emz": "application/octet-stream",
|
|
".eot": "application/vnd.ms-fontobject",
|
|
".eps": "application/postscript",
|
|
".etl": "application/etl",
|
|
".etx": "text/x-setext",
|
|
".evy": "application/envoy",
|
|
".exe": "application/octet-stream",
|
|
".exe.config": "text/xml",
|
|
".fdf": "application/vnd.fdf",
|
|
".fif": "application/fractals",
|
|
".filters": "application/xml",
|
|
".fla": "application/octet-stream",
|
|
".flac": "audio/flac",
|
|
".flr": "x-world/x-vrml",
|
|
".flv": "video/x-flv",
|
|
".fsscript": "application/fsharp-script",
|
|
".fsx": "application/fsharp-script",
|
|
".generictest": "application/xml",
|
|
".gif": "image/gif",
|
|
".gpx": "application/gpx+xml",
|
|
".group": "text/x-ms-group",
|
|
".gsm": "audio/x-gsm",
|
|
".gtar": "application/x-gtar",
|
|
".gz": "application/x-gzip",
|
|
".h": "text/plain",
|
|
".hdf": "application/x-hdf",
|
|
".hdml": "text/x-hdml",
|
|
".hhc": "application/x-oleobject",
|
|
".hhk": "application/octet-stream",
|
|
".hhp": "application/octet-stream",
|
|
".hlp": "application/winhlp",
|
|
".hpp": "text/plain",
|
|
".hqx": "application/mac-binhex40",
|
|
".hta": "application/hta",
|
|
".htc": "text/x-component",
|
|
".htm": "text/html",
|
|
".html": "text/html",
|
|
".htt": "text/webviewhtml",
|
|
".hxa": "application/xml",
|
|
".hxc": "application/xml",
|
|
".hxd": "application/octet-stream",
|
|
".hxe": "application/xml",
|
|
".hxf": "application/xml",
|
|
".hxh": "application/octet-stream",
|
|
".hxi": "application/octet-stream",
|
|
".hxk": "application/xml",
|
|
".hxq": "application/octet-stream",
|
|
".hxr": "application/octet-stream",
|
|
".hxs": "application/octet-stream",
|
|
".hxt": "text/html",
|
|
".hxv": "application/xml",
|
|
".hxw": "application/octet-stream",
|
|
".hxx": "text/plain",
|
|
".i": "text/plain",
|
|
".ico": "image/x-icon",
|
|
".ics": "application/octet-stream",
|
|
".idl": "text/plain",
|
|
".ief": "image/ief",
|
|
".iii": "application/x-iphone",
|
|
".inc": "text/plain",
|
|
".inf": "application/octet-stream",
|
|
".ini": "text/plain",
|
|
".inl": "text/plain",
|
|
".ins": "application/x-internet-signup",
|
|
".ipa": "application/x-itunes-ipa",
|
|
".ipg": "application/x-itunes-ipg",
|
|
".ipproj": "text/plain",
|
|
".ipsw": "application/x-itunes-ipsw",
|
|
".iqy": "text/x-ms-iqy",
|
|
".isp": "application/x-internet-signup",
|
|
".ite": "application/x-itunes-ite",
|
|
".itlp": "application/x-itunes-itlp",
|
|
".itms": "application/x-itunes-itms",
|
|
".itpc": "application/x-itunes-itpc",
|
|
".IVF": "video/x-ivf",
|
|
".jar": "application/java-archive",
|
|
".java": "application/octet-stream",
|
|
".jck": "application/liquidmotion",
|
|
".jcz": "application/liquidmotion",
|
|
".jfif": "image/pjpeg",
|
|
".jnlp": "application/x-java-jnlp-file",
|
|
".jpb": "application/octet-stream",
|
|
".jpe": "image/jpeg",
|
|
".jpeg": "image/jpeg",
|
|
".jpg": "image/jpeg",
|
|
".js": "application/javascript",
|
|
".json": "application/json",
|
|
".jsx": "text/jscript",
|
|
".jsxbin": "text/plain",
|
|
".latex": "application/x-latex",
|
|
".library-ms": "application/windows-library+xml",
|
|
".lit": "application/x-ms-reader",
|
|
".loadtest": "application/xml",
|
|
".lpk": "application/octet-stream",
|
|
".lsf": "video/x-la-asf",
|
|
".lst": "text/plain",
|
|
".lsx": "video/x-la-asf",
|
|
".lzh": "application/octet-stream",
|
|
".m13": "application/x-msmediaview",
|
|
".m14": "application/x-msmediaview",
|
|
".m1v": "video/mpeg",
|
|
".m2t": "video/vnd.dlna.mpeg-tts",
|
|
".m2ts": "video/vnd.dlna.mpeg-tts",
|
|
".m2v": "video/mpeg",
|
|
".m3u": "audio/x-mpegurl",
|
|
".m3u8": "audio/x-mpegurl",
|
|
".m4a": "audio/m4a",
|
|
".m4b": "audio/m4b",
|
|
".m4p": "audio/m4p",
|
|
".m4r": "audio/x-m4r",
|
|
".m4v": "video/x-m4v",
|
|
".mac": "image/x-macpaint",
|
|
".mak": "text/plain",
|
|
".man": "application/x-troff-man",
|
|
".manifest": "application/x-ms-manifest",
|
|
".map": "text/plain",
|
|
".master": "application/xml",
|
|
".mbox": "application/mbox",
|
|
".mda": "application/msaccess",
|
|
".mdb": "application/x-msaccess",
|
|
".mde": "application/msaccess",
|
|
".mdp": "application/octet-stream",
|
|
".me": "application/x-troff-me",
|
|
".mfp": "application/x-shockwave-flash",
|
|
".mht": "message/rfc822",
|
|
".mhtml": "message/rfc822",
|
|
".mid": "audio/mid",
|
|
".midi": "audio/mid",
|
|
".mix": "application/octet-stream",
|
|
".mk": "text/plain",
|
|
".mmf": "application/x-smaf",
|
|
".mno": "text/xml",
|
|
".mny": "application/x-msmoney",
|
|
".mod": "video/mpeg",
|
|
".mov": "video/quicktime",
|
|
".movie": "video/x-sgi-movie",
|
|
".mp2": "video/mpeg",
|
|
".mp2v": "video/mpeg",
|
|
".mp3": "audio/mpeg",
|
|
".mp4": "video/mp4",
|
|
".mp4v": "video/mp4",
|
|
".mpa": "video/mpeg",
|
|
".mpe": "video/mpeg",
|
|
".mpeg": "video/mpeg",
|
|
".mpf": "application/vnd.ms-mediapackage",
|
|
".mpg": "video/mpeg",
|
|
".mpp": "application/vnd.ms-project",
|
|
".mpv2": "video/mpeg",
|
|
".mqv": "video/quicktime",
|
|
".ms": "application/x-troff-ms",
|
|
".msg": "application/vnd.ms-outlook",
|
|
".msi": "application/octet-stream",
|
|
".mso": "application/octet-stream",
|
|
".mts": "video/vnd.dlna.mpeg-tts",
|
|
".mtx": "application/xml",
|
|
".mvb": "application/x-msmediaview",
|
|
".mvc": "application/x-miva-compiled",
|
|
".mxp": "application/x-mmxp",
|
|
".nc": "application/x-netcdf",
|
|
".nsc": "video/x-ms-asf",
|
|
".nws": "message/rfc822",
|
|
".ocx": "application/octet-stream",
|
|
".oda": "application/oda",
|
|
".odb": "application/vnd.oasis.opendocument.database",
|
|
".odc": "application/vnd.oasis.opendocument.chart",
|
|
".odf": "application/vnd.oasis.opendocument.formula",
|
|
".odg": "application/vnd.oasis.opendocument.graphics",
|
|
".odh": "text/plain",
|
|
".odi": "application/vnd.oasis.opendocument.image",
|
|
".odl": "text/plain",
|
|
".odm": "application/vnd.oasis.opendocument.text-master",
|
|
".odp": "application/vnd.oasis.opendocument.presentation",
|
|
".ods": "application/vnd.oasis.opendocument.spreadsheet",
|
|
".odt": "application/vnd.oasis.opendocument.text",
|
|
".oga": "audio/ogg",
|
|
".ogg": "audio/ogg",
|
|
".ogv": "video/ogg",
|
|
".ogx": "application/ogg",
|
|
".one": "application/onenote",
|
|
".onea": "application/onenote",
|
|
".onepkg": "application/onenote",
|
|
".onetmp": "application/onenote",
|
|
".onetoc": "application/onenote",
|
|
".onetoc2": "application/onenote",
|
|
".opus": "audio/ogg",
|
|
".orderedtest": "application/xml",
|
|
".osdx": "application/opensearchdescription+xml",
|
|
".otf": "application/font-sfnt",
|
|
".otg": "application/vnd.oasis.opendocument.graphics-template",
|
|
".oth": "application/vnd.oasis.opendocument.text-web",
|
|
".otp": "application/vnd.oasis.opendocument.presentation-template",
|
|
".ots": "application/vnd.oasis.opendocument.spreadsheet-template",
|
|
".ott": "application/vnd.oasis.opendocument.text-template",
|
|
".oxt": "application/vnd.openofficeorg.extension",
|
|
".p10": "application/pkcs10",
|
|
".p12": "application/x-pkcs12",
|
|
".p7b": "application/x-pkcs7-certificates",
|
|
".p7c": "application/pkcs7-mime",
|
|
".p7m": "application/pkcs7-mime",
|
|
".p7r": "application/x-pkcs7-certreqresp",
|
|
".p7s": "application/pkcs7-signature",
|
|
".pbm": "image/x-portable-bitmap",
|
|
".pcast": "application/x-podcast",
|
|
".pct": "image/pict",
|
|
".pcx": "application/octet-stream",
|
|
".pcz": "application/octet-stream",
|
|
".pdf": "application/pdf",
|
|
".pfb": "application/octet-stream",
|
|
".pfm": "application/octet-stream",
|
|
".pfx": "application/x-pkcs12",
|
|
".pgm": "image/x-portable-graymap",
|
|
".pic": "image/pict",
|
|
".pict": "image/pict",
|
|
".pkgdef": "text/plain",
|
|
".pkgundef": "text/plain",
|
|
".pko": "application/vnd.ms-pki.pko",
|
|
".pls": "audio/scpls",
|
|
".pma": "application/x-perfmon",
|
|
".pmc": "application/x-perfmon",
|
|
".pml": "application/x-perfmon",
|
|
".pmr": "application/x-perfmon",
|
|
".pmw": "application/x-perfmon",
|
|
".png": "image/png",
|
|
".pnm": "image/x-portable-anymap",
|
|
".pnt": "image/x-macpaint",
|
|
".pntg": "image/x-macpaint",
|
|
".pnz": "image/png",
|
|
".pot": "application/vnd.ms-powerpoint",
|
|
".potm": "application/vnd.ms-powerpoint.template.macroEnabled.12",
|
|
".potx": "application/vnd.openxmlformats-officedocument.presentationml.template",
|
|
".ppa": "application/vnd.ms-powerpoint",
|
|
".ppam": "application/vnd.ms-powerpoint.addin.macroEnabled.12",
|
|
".ppm": "image/x-portable-pixmap",
|
|
".pps": "application/vnd.ms-powerpoint",
|
|
".ppsm": "application/vnd.ms-powerpoint.slideshow.macroEnabled.12",
|
|
".ppsx": "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
|
|
".ppt": "application/vnd.ms-powerpoint",
|
|
".pptm": "application/vnd.ms-powerpoint.presentation.macroEnabled.12",
|
|
".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
".prf": "application/pics-rules",
|
|
".prm": "application/octet-stream",
|
|
".prx": "application/octet-stream",
|
|
".ps": "application/postscript",
|
|
".psc1": "application/PowerShell",
|
|
".psd": "application/octet-stream",
|
|
".psess": "application/xml",
|
|
".psm": "application/octet-stream",
|
|
".psp": "application/octet-stream",
|
|
".pst": "application/vnd.ms-outlook",
|
|
".pub": "application/x-mspublisher",
|
|
".pwz": "application/vnd.ms-powerpoint",
|
|
".qht": "text/x-html-insertion",
|
|
".qhtm": "text/x-html-insertion",
|
|
".qt": "video/quicktime",
|
|
".qti": "image/x-quicktime",
|
|
".qtif": "image/x-quicktime",
|
|
".qtl": "application/x-quicktimeplayer",
|
|
".qxd": "application/octet-stream",
|
|
".ra": "audio/x-pn-realaudio",
|
|
".ram": "audio/x-pn-realaudio",
|
|
".rar": "application/x-rar-compressed",
|
|
".ras": "image/x-cmu-raster",
|
|
".rat": "application/rat-file",
|
|
".rc": "text/plain",
|
|
".rc2": "text/plain",
|
|
".rct": "text/plain",
|
|
".rdlc": "application/xml",
|
|
".reg": "text/plain",
|
|
".resx": "application/xml",
|
|
".rf": "image/vnd.rn-realflash",
|
|
".rgb": "image/x-rgb",
|
|
".rgs": "text/plain",
|
|
".rm": "application/vnd.rn-realmedia",
|
|
".rmi": "audio/mid",
|
|
".rmp": "application/vnd.rn-rn_music_package",
|
|
".roff": "application/x-troff",
|
|
".rpm": "audio/x-pn-realaudio-plugin",
|
|
".rqy": "text/x-ms-rqy",
|
|
".rtf": "application/rtf",
|
|
".rtx": "text/richtext",
|
|
".rvt": "application/octet-stream",
|
|
".ruleset": "application/xml",
|
|
".s": "text/plain",
|
|
".safariextz": "application/x-safari-safariextz",
|
|
".scd": "application/x-msschedule",
|
|
".scr": "text/plain",
|
|
".sct": "text/scriptlet",
|
|
".sd2": "audio/x-sd2",
|
|
".sdp": "application/sdp",
|
|
".sea": "application/octet-stream",
|
|
".searchConnector-ms": "application/windows-search-connector+xml",
|
|
".setpay": "application/set-payment-initiation",
|
|
".setreg": "application/set-registration-initiation",
|
|
".settings": "application/xml",
|
|
".sgimb": "application/x-sgimb",
|
|
".sgml": "text/sgml",
|
|
".sh": "application/x-sh",
|
|
".shar": "application/x-shar",
|
|
".shtml": "text/html",
|
|
".sit": "application/x-stuffit",
|
|
".sitemap": "application/xml",
|
|
".skin": "application/xml",
|
|
".skp": "application/x-koan",
|
|
".sldm": "application/vnd.ms-powerpoint.slide.macroEnabled.12",
|
|
".sldx": "application/vnd.openxmlformats-officedocument.presentationml.slide",
|
|
".slk": "application/vnd.ms-excel",
|
|
".sln": "text/plain",
|
|
".slupkg-ms": "application/x-ms-license",
|
|
".smd": "audio/x-smd",
|
|
".smi": "application/octet-stream",
|
|
".smx": "audio/x-smd",
|
|
".smz": "audio/x-smd",
|
|
".snd": "audio/basic",
|
|
".snippet": "application/xml",
|
|
".snp": "application/octet-stream",
|
|
".sol": "text/plain",
|
|
".sor": "text/plain",
|
|
".spc": "application/x-pkcs7-certificates",
|
|
".spl": "application/futuresplash",
|
|
".spx": "audio/ogg",
|
|
".src": "application/x-wais-source",
|
|
".srf": "text/plain",
|
|
".SSISDeploymentManifest": "text/xml",
|
|
".ssm": "application/streamingmedia",
|
|
".sst": "application/vnd.ms-pki.certstore",
|
|
".stl": "application/vnd.ms-pki.stl",
|
|
".sv4cpio": "application/x-sv4cpio",
|
|
".sv4crc": "application/x-sv4crc",
|
|
".svc": "application/xml",
|
|
".svg": "image/svg+xml",
|
|
".swf": "application/x-shockwave-flash",
|
|
".step": "application/step",
|
|
".stp": "application/step",
|
|
".t": "application/x-troff",
|
|
".tar": "application/x-tar",
|
|
".tcl": "application/x-tcl",
|
|
".testrunconfig": "application/xml",
|
|
".testsettings": "application/xml",
|
|
".tex": "application/x-tex",
|
|
".texi": "application/x-texinfo",
|
|
".texinfo": "application/x-texinfo",
|
|
".tgz": "application/x-compressed",
|
|
".thmx": "application/vnd.ms-officetheme",
|
|
".thn": "application/octet-stream",
|
|
".tif": "image/tiff",
|
|
".tiff": "image/tiff",
|
|
".tlh": "text/plain",
|
|
".tli": "text/plain",
|
|
".toc": "application/octet-stream",
|
|
".tr": "application/x-troff",
|
|
".trm": "application/x-msterminal",
|
|
".trx": "application/xml",
|
|
".ts": "video/vnd.dlna.mpeg-tts",
|
|
".tsv": "text/tab-separated-values",
|
|
".ttf": "application/font-sfnt",
|
|
".tts": "video/vnd.dlna.mpeg-tts",
|
|
".txt": "text/plain",
|
|
".u32": "application/octet-stream",
|
|
".uls": "text/iuls",
|
|
".user": "text/plain",
|
|
".ustar": "application/x-ustar",
|
|
".vb": "text/plain",
|
|
".vbdproj": "text/plain",
|
|
".vbk": "video/mpeg",
|
|
".vbproj": "text/plain",
|
|
".vbs": "text/vbscript",
|
|
".vcf": "text/x-vcard",
|
|
".vcproj": "application/xml",
|
|
".vcs": "text/plain",
|
|
".vcxproj": "application/xml",
|
|
".vddproj": "text/plain",
|
|
".vdp": "text/plain",
|
|
".vdproj": "text/plain",
|
|
".vdx": "application/vnd.ms-visio.viewer",
|
|
".vml": "text/xml",
|
|
".vscontent": "application/xml",
|
|
".vsct": "text/xml",
|
|
".vsd": "application/vnd.visio",
|
|
".vsi": "application/ms-vsi",
|
|
".vsix": "application/vsix",
|
|
".vsixlangpack": "text/xml",
|
|
".vsixmanifest": "text/xml",
|
|
".vsmdi": "application/xml",
|
|
".vspscc": "text/plain",
|
|
".vss": "application/vnd.visio",
|
|
".vsscc": "text/plain",
|
|
".vssettings": "text/xml",
|
|
".vssscc": "text/plain",
|
|
".vst": "application/vnd.visio",
|
|
".vstemplate": "text/xml",
|
|
".vsto": "application/x-ms-vsto",
|
|
".vsw": "application/vnd.visio",
|
|
".vsx": "application/vnd.visio",
|
|
".vtx": "application/vnd.visio",
|
|
".wav": "audio/wav",
|
|
".wave": "audio/wav",
|
|
".wax": "audio/x-ms-wax",
|
|
".wbk": "application/msword",
|
|
".wbmp": "image/vnd.wap.wbmp",
|
|
".wcm": "application/vnd.ms-works",
|
|
".wdb": "application/vnd.ms-works",
|
|
".wdp": "image/vnd.ms-photo",
|
|
".webarchive": "application/x-safari-webarchive",
|
|
".webm": "video/webm",
|
|
".webp": "image/webp", /* https"://en.wikipedia.org/wiki/WebP */
|
|
".webtest": "application/xml",
|
|
".wiq": "application/xml",
|
|
".wiz": "application/msword",
|
|
".wks": "application/vnd.ms-works",
|
|
".WLMP": "application/wlmoviemaker",
|
|
".wlpginstall": "application/x-wlpg-detect",
|
|
".wlpginstall3": "application/x-wlpg3-detect",
|
|
".wm": "video/x-ms-wm",
|
|
".wma": "audio/x-ms-wma",
|
|
".wmd": "application/x-ms-wmd",
|
|
".wmf": "application/x-msmetafile",
|
|
".wml": "text/vnd.wap.wml",
|
|
".wmlc": "application/vnd.wap.wmlc",
|
|
".wmls": "text/vnd.wap.wmlscript",
|
|
".wmlsc": "application/vnd.wap.wmlscriptc",
|
|
".wmp": "video/x-ms-wmp",
|
|
".wmv": "video/x-ms-wmv",
|
|
".wmx": "video/x-ms-wmx",
|
|
".wmz": "application/x-ms-wmz",
|
|
".woff": "application/font-woff",
|
|
".wpl": "application/vnd.ms-wpl",
|
|
".wps": "application/vnd.ms-works",
|
|
".wri": "application/x-mswrite",
|
|
".wrl": "x-world/x-vrml",
|
|
".wrz": "x-world/x-vrml",
|
|
".wsc": "text/scriptlet",
|
|
".wsdl": "text/xml",
|
|
".wvx": "video/x-ms-wvx",
|
|
".x": "application/directx",
|
|
".xaf": "x-world/x-vrml",
|
|
".xaml": "application/xaml+xml",
|
|
".xap": "application/x-silverlight-app",
|
|
".xbap": "application/x-ms-xbap",
|
|
".xbm": "image/x-xbitmap",
|
|
".xdr": "text/plain",
|
|
".xht": "application/xhtml+xml",
|
|
".xhtml": "application/xhtml+xml",
|
|
".xla": "application/vnd.ms-excel",
|
|
".xlam": "application/vnd.ms-excel.addin.macroEnabled.12",
|
|
".xlc": "application/vnd.ms-excel",
|
|
".xld": "application/vnd.ms-excel",
|
|
".xlk": "application/vnd.ms-excel",
|
|
".xll": "application/vnd.ms-excel",
|
|
".xlm": "application/vnd.ms-excel",
|
|
".xls": "application/vnd.ms-excel",
|
|
".xlsb": "application/vnd.ms-excel.sheet.binary.macroEnabled.12",
|
|
".xlsm": "application/vnd.ms-excel.sheet.macroEnabled.12",
|
|
".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
".xlt": "application/vnd.ms-excel",
|
|
".xltm": "application/vnd.ms-excel.template.macroEnabled.12",
|
|
".xltx": "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
|
|
".xlw": "application/vnd.ms-excel",
|
|
".xml": "text/xml",
|
|
".xmp": "application/octet-stream",
|
|
".xmta": "application/xml",
|
|
".xof": "x-world/x-vrml",
|
|
".XOML": "text/plain",
|
|
".xpm": "image/x-xpixmap",
|
|
".xps": "application/vnd.ms-xpsdocument",
|
|
".xrm-ms": "text/xml",
|
|
".xsc": "application/xml",
|
|
".xsd": "text/xml",
|
|
".xsf": "text/xml",
|
|
".xsl": "text/xml",
|
|
".xslt": "text/xml",
|
|
".xsn": "application/octet-stream",
|
|
".xss": "application/xml",
|
|
".xspf": "application/xspf+xml",
|
|
".xtp": "application/octet-stream",
|
|
".xwd": "image/x-xwindowdump",
|
|
".z": "application/x-compress",
|
|
".zip": "application/zip"}
|
|
|
|
if mimeType, ok := mimeMap[extension]; ok {
|
|
return mimeType
|
|
} else {
|
|
return "application/octet-stream"
|
|
}
|
|
}
|