Mime Type : MIME « Network Protocol « Java






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

1.MIME type mappings
2.A convenience class which handles conversions between MIME charset names and Java encoding names.
3.A utility class, which provides some MIME related application logic.
4.HTTP MIME Response
5.MIME types to use for various requests
6.Known mime types
7.Declaring MIME types to use for various requests and provide utility manipulation methods
8.Map file extensions to MIME types. Based on the Apache mime.types file
9.Frequently used MIME types
10.Print MIME header
11.enum Mime Type
12.Mime type map