0001 https://gist.githubusercontent.com/ngs/918b07f448977789cf69/raw/05bbb2103a41e0ed5d5579b3666d61c0891f91c0/MimeType.swiftimport Foundation
0003 internal let DEFAULT_MIME_TYPE| MimeType.swift:115 | return DEFAULT_MIME_TYPE |
= "application/octet-stream"
0004
0005 internal let mimeTypes| MimeType.swift:112 | if ext != nil && mimeTypes.contains({ $0.0 == ext!.lowercaseString }) { |
| MimeType.swift:113 | return mimeTypes[ext!.lowercaseString]! |
= [
0006 "html": "text/html",
0007 "htm": "text/html",
0008 "shtml": "text/html",
0009 "css": "text/css",
0010 "xml": "text/xml",
0011 "gif": "image/gif",
0012 "jpeg": "image/jpeg",
0013 "jpg": "image/jpeg",
0014 "js": "application/javascript",
0015 "atom": "application/atom+xml",
0016 "rss": "application/rss+xml",
0017 "mml": "text/mathml",
0018 "txt": "text/plain",
0019 "jad": "text/vnd.sun.j2me.app-descriptor",
0020 "wml": "text/vnd.wap.wml",
0021 "htc": "text/x-component",
0022 "png": "image/png",
0023 "tif": "image/tiff",
0024 "tiff": "image/tiff",
0025 "wbmp": "image/vnd.wap.wbmp",
0026 "ico": "image/x-icon",
0027 "jng": "image/x-jng",
0028 "bmp": "image/x-ms-bmp",
0029 "svg": "image/svg+xml",
0030 "svgz": "image/svg+xml",
0031 "webp": "image/webp",
0032 "woff": "application/font-woff",
0033 "jar": "application/java-archive",
0034 "war": "application/java-archive",
0035 "ear": "application/java-archive",
0036 "json": "application/json",
0037 "hqx": "application/mac-binhex40",
0038 "doc": "application/msword",
0039 "pdf": "application/pdf",
0040 "ps": "application/postscript",
0041 "eps": "application/postscript",
0042 "ai": "application/postscript",
0043 "rtf": "application/rtf",
0044 "m3u8": "application/vnd.apple.mpegurl",
0045 "xls": "application/vnd.ms-excel",
0046 "eot": "application/vnd.ms-fontobject",
0047 "ppt": "application/vnd.ms-powerpoint",
0048 "wmlc": "application/vnd.wap.wmlc",
0049 "kml": "application/vnd.google-earth.kml+xml",
0050 "kmz": "application/vnd.google-earth.kmz",
0051 "7z": "application/x-7z-compressed",
0052 "cco": "application/x-cocoa",
0053 "jardiff": "application/x-java-archive-diff",
0054 "jnlp": "application/x-java-jnlp-file",
0055 "run": "application/x-makeself",
0056 "pl": "application/x-perl",
0057 "pm": "application/x-perl",
0058 "prc": "application/x-pilot",
0059 "pdb": "application/x-pilot",
0060 "rar": "application/x-rar-compressed",
0061 "rpm": "application/x-redhat-package-manager",
0062 "sea": "application/x-sea",
0063 "swf": "application/x-shockwave-flash",
0064 "sit": "application/x-stuffit",
0065 "tcl": "application/x-tcl",
0066 "tk": "application/x-tcl",
0067 "der": "application/x-x509-ca-cert",
0068 "pem": "application/x-x509-ca-cert",
0069 "crt": "application/x-x509-ca-cert",
0070 "xpi": "application/x-xpinstall",
0071 "xhtml": "application/xhtml+xml",
0072 "xspf": "application/xspf+xml",
0073 "zip": "application/zip",
0074 "bin": "application/octet-stream",
0075 "exe": "application/octet-stream",
0076 "dll": "application/octet-stream",
0077 "deb": "application/octet-stream",
0078 "dmg": "application/octet-stream",
0079 "iso": "application/octet-stream",
0080 "img": "application/octet-stream",
0081 "msi": "application/octet-stream",
0082 "msp": "application/octet-stream",
0083 "msm": "application/octet-stream",
0084 "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
0085 "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
0086 "pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
0087 "mid": "audio/midi",
0088 "midi": "audio/midi",
0089 "kar": "audio/midi",
0090 "mp3": "audio/mpeg",
0091 "ogg": "audio/ogg",
0092 "m4a": "audio/x-m4a",
0093 "ra": "audio/x-realaudio",
0094 "3gpp": "video/3gpp",
0095 "3gp": "video/3gpp",
0096 "ts": "video/mp2t",
0097 "mp4": "video/mp4",
0098 "mpeg": "video/mpeg",
0099 "mpg": "video/mpeg",
0100 "mov": "video/quicktime",
0101 "webm": "video/webm",
0102 "flv": "video/x-flv",
0103 "m4v": "video/x-m4v",
0104 "mng": "video/x-mng",
0105 "asx": "video/x-ms-asf",
0106 "asf": "video/x-ms-asf",
0107 "wmv": "video/x-ms-wmv",
0108 "avi": "video/x-msvideo"
0109 ]
0110
0111 internal func MimeType| MimeType.swift:120 | return MimeType(self.pathExtension) |
| MimeType.swift:127 | return MimeType(self.pathExtension) |
| MimeType.swift:133 | return MimeType(self) |
(ext: String?) -> String {
0112 if ext != nil && mimeTypes.contains({ $0.0 == ext!.lowercaseString }) {
0113 return mimeTypes[ext!.lowercaseString]!
0114 }
0115 return DEFAULT_MIME_TYPE
0116 }
0117
0118 extension NSURL {
0119 public func mimeType() -> String {
0120 return MimeType(self.pathExtension)
0121 }
0122 }
0123
0124
0125 extension NSString {
0126 public func mimeType() -> String {
0127 return MimeType(self.pathExtension)
0128 }
0129 }
0130
0131 extension String {
0132 public func mimeType() -> String {
0133 return MimeType(self)
0134 }
0135 }
0136