Interface/enum listing standard mime-type constants

前端 未结 11 1987
-上瘾入骨i
-上瘾入骨i 2020-12-13 11:35

I am looking among the standard libraries (like apache commons, jax, jboss, javax) for an interface or enum that lists the values of all the standard mime-type (aka content-

相关标签:
11条回答
  • 2020-12-13 12:01

    If you're on android you have multiple choices, where only the first is a kind of "enum":

    • HTTP (which has been deprecated in API 22), for example
      HTTP.PLAIN_TEXT_TYPE or
    • MimeTypeMap, for example
      final String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
      See also FileProvider.getType().
    • URLConnection that provides the following methods:
      • guessContentTypeFromStream(InputStream is)
      • guessContentTypeFromName(String url)
      • getFileNameMap()

    For example

    @Override
    public String getType(Uri uri) {
        return URLConnection.getFileNameMap().getContentTypeFor(
                uri.getLastPathSegment());
    }
    
    0 讨论(0)
  • 2020-12-13 12:01

    I solved this with a static class:

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

    As already posted in earlier answer, most common MIME types are configured in a webserver. For example in tomcat conf/ we have web.xml with following MIME configured:

       <mime-mapping>
          <extension>abs</extension>
          <mime-type>audio/x-mpeg</mime-type>
       </mime-mapping>
       <mime-mapping>
          <extension>ai</extension>
          <mime-type>application/postscript</mime-type>
       </mime-mapping>
       <mime-mapping>
          <extension>aif</extension>
          <mime-type>audio/x-aiff</mime-type>
       </mime-mapping>
    ...
    

    Create a startup listener that kicks in when web app is started and parses this XML file and creates the ENUMS for you and binds it to servlet context for sharing downstream.

    0 讨论(0)
  • 2020-12-13 12:02

    If you are using Spring Framework then there is a MediaType class for common content types:

    MediaType.TEXT_HTML 
    MediaType.TEXT_PLAIN 
    MediaType.TEXT_XML 
    MediaType.APPLICATION_JSON 
    MediaType.IMAGE_JPEG 
    ...
    
    0 讨论(0)
  • 2020-12-13 12:04

    javax.ws.rs.core.MediaType from JAX-RS

    0 讨论(0)
  • 2020-12-13 12:13

    Guava library

    We have a Guava class for this: com.google.common.net.MediaType.

    It was released with Guava 12 as stated in the source code and in Issue 823. Sources are available, too.

    0 讨论(0)
提交回复
热议问题