Mime Type
/**
* Vosao CMS. Simple CMS for Google App Engine.
*
* Copyright (C) 2009-2010 Vosao development team.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* email: vosao.dev@gmail.com
*/
//package org.vosao.utils;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class MimeType {
private static String[] mimeTypes = {
"323","text/h323",
"acx","application/internet-property-stream",
"ai","application/postscript",
"aif","audio/x-aiff",
"aifc","audio/x-aiff",
"aiff","audio/x-aiff",
"asf","video/x-ms-asf",
"asr","video/x-ms-asf",
"asx","video/x-ms-asf",
"au","audio/basic",
"avi","video/x-msvideo",
"axs","application/olescript",
"bas","text/plain",
"bcpio","application/x-bcpio",
"bin","application/octet-stream",
"bmp","image/bmp",
"c","text/plain",
"cat","application/vnd.ms-pkiseccat",
"cdf","application/x-cdf",
"cer","application/x-x509-ca-cert",
"class","application/octet-stream",
"clp","application/x-msclip",
"cmx","image/x-cmx",
"cod","image/cis-cod",
"cpio","application/x-cpio",
"crd","application/x-mscardfile",
"crl","application/pkix-crl",
"crt","application/x-x509-ca-cert",
"csh","application/x-csh",
"css","text/css",
"dcr","application/x-director",
"der","application/x-x509-ca-cert",
"dir","application/x-director",
"dll","application/x-msdownload",
"dms","application/octet-stream",
"doc","application/msword",
"dot","application/msword",
"dvi","application/x-dvi",
"dxr","application/x-director",
"eps","application/postscript",
"etx","text/x-setext",
"evy","application/envoy",
"exe","application/octet-stream",
"fif","application/fractals",
"flr","x-world/x-vrml",
"gif","image/gif",
"gtar","application/x-gtar",
"gz","application/x-gzip",
"h","text/plain",
"hdf","application/x-hdf",
"hlp","application/winhlp",
"hqx","application/mac-binhex40",
"hta","application/hta",
"htc","text/x-component",
"htm","text/html",
"html","text/html",
"htt","text/webviewhtml",
"ico","image/x-icon",
"ief","image/ief",
"iii","application/x-iphone",
"ins","application/x-internet-signup",
"isp","application/x-internet-signup",
"jfif","image/pipeg",
"jpe","image/jpeg",
"jpeg","image/jpeg",
"jpg","image/jpeg",
"js","application/x-javascript",
"latex","application/x-latex",
"lha","application/octet-stream",
"lsf","video/x-la-asf",
"lsx","video/x-la-asf",
"lzh","application/octet-stream",
"m13","application/x-msmediaview",
"m14","application/x-msmediaview",
"m3u","audio/x-mpegurl",
"man","application/x-troff-man",
"mdb","application/x-msaccess",
"me","application/x-troff-me",
"mht","message/rfc822",
"mhtml","message/rfc822",
"mid","audio/mid",
"mny","application/x-msmoney",
"mov","video/quicktime",
"movie","video/x-sgi-movie",
"mp2","video/mpeg",
"mp3","audio/mpeg",
"mpa","video/mpeg",
"mpe","video/mpeg",
"mpeg","video/mpeg",
"mpg","video/mpeg",
"mpp","application/vnd.ms-project",
"mpv2","video/mpeg",
"ms","application/x-troff-ms",
"mvb","application/x-msmediaview",
"nws","message/rfc822",
"oda","application/oda",
"p10","application/pkcs10",
"p12","application/x-pkcs12",
"p7b","application/x-pkcs7-certificates",
"p7c","application/x-pkcs7-mime",
"p7m","application/x-pkcs7-mime",
"p7r","application/x-pkcs7-certreqresp",
"p7s","application/x-pkcs7-signature",
"pbm","image/x-portable-bitmap",
"pdf","application/pdf",
"pfx","application/x-pkcs12",
"pgm","image/x-portable-graymap",
"pko","application/ynd.ms-pkipko",
"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",
"pot","application/vnd.ms-powerpoint",
"ppm","image/x-portable-pixmap",
"pps","application/vnd.ms-powerpoint",
"ppt","application/vnd.ms-powerpoint",
"prf","application/pics-rules",
"ps","application/postscript",
"pub","application/x-mspublisher",
"qt","video/quicktime",
"ra","audio/x-pn-realaudio",
"ram","audio/x-pn-realaudio",
"ras","image/x-cmu-raster",
"rgb","image/x-rgb",
"rmi","audio/mid",
"roff","application/x-troff",
"rtf","application/rtf",
"rtx","text/richtext",
"scd","application/x-msschedule",
"sct","text/scriptlet",
"setpay","application/set-payment-initiation",
"setreg","application/set-registration-initiation",
"sh","application/x-sh",
"shar","application/x-shar",
"sit","application/x-stuffit",
"snd","audio/basic",
"spc","application/x-pkcs7-certificates",
"spl","application/futuresplash",
"src","application/x-wais-source",
"sst","application/vnd.ms-pkicertstore",
"stl","application/vnd.ms-pkistl",
"stm","text/html",
"svg","image/svg+xml",
"sv4cpio","application/x-sv4cpio",
"sv4crc","application/x-sv4crc",
"swf","application/x-shockwave-flash",
"t","application/x-troff",
"tar","application/x-tar",
"tcl","application/x-tcl",
"tex","application/x-tex",
"texi","application/x-texinfo",
"texinfo","application/x-texinfo",
"tgz","application/x-compressed",
"tif","image/tiff",
"tiff","image/tiff",
"tr","application/x-troff",
"trm","application/x-msterminal",
"tsv","text/tab-separated-values",
"txt","text/plain",
"uls","text/iuls",
"ustar","application/x-ustar",
"vcf","text/x-vcard",
"vrml","x-world/x-vrml",
"wav","audio/x-wav",
"wcm","application/vnd.ms-works",
"wdb","application/vnd.ms-works",
"wks","application/vnd.ms-works",
"wmf","application/x-msmetafile",
"wps","application/vnd.ms-works",
"wri","application/x-mswrite",
"wrl","x-world/x-vrml",
"wrz","x-world/x-vrml",
"xaf","x-world/x-vrml",
"xbm","image/x-xbitmap",
"xla","application/vnd.ms-excel",
"xlc","application/vnd.ms-excel",
"xlm","application/vnd.ms-excel",
"xls","application/vnd.ms-excel",
"xlt","application/vnd.ms-excel",
"xlw","application/vnd.ms-excel",
"xml","text/xml",
"xof","x-world/x-vrml",
"xpm","image/x-xpixmap",
"xwd","image/x-xwindowdump",
"z", "application/x-compress",
"zip","application/zip"
};
private static Map<String, String> mimeMap;
static {
mimeMap = new HashMap<String, String>();
Iterator<String> i = Arrays.asList(mimeTypes).iterator();
while (i.hasNext()) {
String key = i.next();
String code = i.next();
mimeMap.put(key, code);
}
}
private static String DEFAULT = "application/octet-stream";
public static String getContentTypeByExt(final String ext) {
String key = ext.toLowerCase();
if (mimeMap.containsKey(key)) {
return mimeMap.get(key);
}
return DEFAULT;
}
}
Related examples in the same category