public
Last active

Node.js File Extension Content Type

  • Download Gist
gistfile1.js
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
exports.ext = function () {
var extTypes = {
"3gp" : "video/3gpp"
, "a" : "application/octet-stream"
, "ai" : "application/postscript"
, "aif" : "audio/x-aiff"
, "aiff" : "audio/x-aiff"
, "asc" : "application/pgp-signature"
, "asf" : "video/x-ms-asf"
, "asm" : "text/x-asm"
, "asx" : "video/x-ms-asf"
, "atom" : "application/atom+xml"
, "au" : "audio/basic"
, "avi" : "video/x-msvideo"
, "bat" : "application/x-msdownload"
, "bin" : "application/octet-stream"
, "bmp" : "image/bmp"
, "bz2" : "application/x-bzip2"
, "c" : "text/x-c"
, "cab" : "application/vnd.ms-cab-compressed"
, "cc" : "text/x-c"
, "chm" : "application/vnd.ms-htmlhelp"
, "class" : "application/octet-stream"
, "com" : "application/x-msdownload"
, "conf" : "text/plain"
, "cpp" : "text/x-c"
, "crt" : "application/x-x509-ca-cert"
, "css" : "text/css"
, "csv" : "text/csv"
, "cxx" : "text/x-c"
, "deb" : "application/x-debian-package"
, "der" : "application/x-x509-ca-cert"
, "diff" : "text/x-diff"
, "djv" : "image/vnd.djvu"
, "djvu" : "image/vnd.djvu"
, "dll" : "application/x-msdownload"
, "dmg" : "application/octet-stream"
, "doc" : "application/msword"
, "dot" : "application/msword"
, "dtd" : "application/xml-dtd"
, "dvi" : "application/x-dvi"
, "ear" : "application/java-archive"
, "eml" : "message/rfc822"
, "eps" : "application/postscript"
, "exe" : "application/x-msdownload"
, "f" : "text/x-fortran"
, "f77" : "text/x-fortran"
, "f90" : "text/x-fortran"
, "flv" : "video/x-flv"
, "for" : "text/x-fortran"
, "gem" : "application/octet-stream"
, "gemspec" : "text/x-script.ruby"
, "gif" : "image/gif"
, "gz" : "application/x-gzip"
, "h" : "text/x-c"
, "hh" : "text/x-c"
, "htm" : "text/html"
, "html" : "text/html"
, "ico" : "image/vnd.microsoft.icon"
, "ics" : "text/calendar"
, "ifb" : "text/calendar"
, "iso" : "application/octet-stream"
, "jar" : "application/java-archive"
, "java" : "text/x-java-source"
, "jnlp" : "application/x-java-jnlp-file"
, "jpeg" : "image/jpeg"
, "jpg" : "image/jpeg"
, "js" : "application/javascript"
, "json" : "application/json"
, "log" : "text/plain"
, "m3u" : "audio/x-mpegurl"
, "m4v" : "video/mp4"
, "man" : "text/troff"
, "mathml" : "application/mathml+xml"
, "mbox" : "application/mbox"
, "mdoc" : "text/troff"
, "me" : "text/troff"
, "mid" : "audio/midi"
, "midi" : "audio/midi"
, "mime" : "message/rfc822"
, "mml" : "application/mathml+xml"
, "mng" : "video/x-mng"
, "mov" : "video/quicktime"
, "mp3" : "audio/mpeg"
, "mp4" : "video/mp4"
, "mp4v" : "video/mp4"
, "mpeg" : "video/mpeg"
, "mpg" : "video/mpeg"
, "ms" : "text/troff"
, "msi" : "application/x-msdownload"
, "odp" : "application/vnd.oasis.opendocument.presentation"
, "ods" : "application/vnd.oasis.opendocument.spreadsheet"
, "odt" : "application/vnd.oasis.opendocument.text"
, "ogg" : "application/ogg"
, "p" : "text/x-pascal"
, "pas" : "text/x-pascal"
, "pbm" : "image/x-portable-bitmap"
, "pdf" : "application/pdf"
, "pem" : "application/x-x509-ca-cert"
, "pgm" : "image/x-portable-graymap"
, "pgp" : "application/pgp-encrypted"
, "pkg" : "application/octet-stream"
, "pl" : "text/x-script.perl"
, "pm" : "text/x-script.perl-module"
, "png" : "image/png"
, "pnm" : "image/x-portable-anymap"
, "ppm" : "image/x-portable-pixmap"
, "pps" : "application/vnd.ms-powerpoint"
, "ppt" : "application/vnd.ms-powerpoint"
, "ps" : "application/postscript"
, "psd" : "image/vnd.adobe.photoshop"
, "py" : "text/x-script.python"
, "qt" : "video/quicktime"
, "ra" : "audio/x-pn-realaudio"
, "rake" : "text/x-script.ruby"
, "ram" : "audio/x-pn-realaudio"
, "rar" : "application/x-rar-compressed"
, "rb" : "text/x-script.ruby"
, "rdf" : "application/rdf+xml"
, "roff" : "text/troff"
, "rpm" : "application/x-redhat-package-manager"
, "rss" : "application/rss+xml"
, "rtf" : "application/rtf"
, "ru" : "text/x-script.ruby"
, "s" : "text/x-asm"
, "sgm" : "text/sgml"
, "sgml" : "text/sgml"
, "sh" : "application/x-sh"
, "sig" : "application/pgp-signature"
, "snd" : "audio/basic"
, "so" : "application/octet-stream"
, "svg" : "image/svg+xml"
, "svgz" : "image/svg+xml"
, "swf" : "application/x-shockwave-flash"
, "t" : "text/troff"
, "tar" : "application/x-tar"
, "tbz" : "application/x-bzip-compressed-tar"
, "tcl" : "application/x-tcl"
, "tex" : "application/x-tex"
, "texi" : "application/x-texinfo"
, "texinfo" : "application/x-texinfo"
, "text" : "text/plain"
, "tif" : "image/tiff"
, "tiff" : "image/tiff"
, "torrent" : "application/x-bittorrent"
, "tr" : "text/troff"
, "txt" : "text/plain"
, "vcf" : "text/x-vcard"
, "vcs" : "text/x-vcalendar"
, "vrml" : "model/vrml"
, "war" : "application/java-archive"
, "wav" : "audio/x-wav"
, "wma" : "audio/x-ms-wma"
, "wmv" : "video/x-ms-wmv"
, "wmx" : "video/x-ms-wmx"
, "wrl" : "model/vrml"
, "wsdl" : "application/wsdl+xml"
, "xbm" : "image/x-xbitmap"
, "xhtml" : "application/xhtml+xml"
, "xls" : "application/vnd.ms-excel"
, "xml" : "application/xml"
, "xpm" : "image/x-xpixmap"
, "xsl" : "application/xml"
, "xslt" : "application/xslt+xml"
, "yaml" : "text/yaml"
, "yml" : "text/yaml"
, "zip" : "application/zip"
}
return {
getExt: function (path) {
var i = path.lastIndexOf('.');
return (i < 0) ? '' : path.substr(i);
},
getContentType: function (ext) {
return extTypes[ext.toLowerCase()] || 'application/octet-stream';
}
};
}();

Awesome, thanks for that!

Thanks a ton for this.

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.