提问:同一个后缀名对应多个MIME值是什么情况,怎么解释。希望有明白的能留言交流。
我只是将W3C中的两个表格整理成了二维数组的格式:
/**
* 按照内容类型排列的 Mime 类型列表
*/
String[][] MimeTableFirst = {
{"application/envoy" ,"evy" },
{"application/fractals" ,"fif" },
{"application/futuresplash" ,"spl" },
{"application/hta" ,"hta" },
{"application/internet-property-stream" ,"a" },
{"application/mac-binhex40" ,"hqx" },
{"application/msword" ,"doc" },
{"application/msword" ,"dot" },
{"application/octet-stream" ,"*" },
{"application/octet-stream" ,"bin" },
{"application/octet-stream" ,"class" },
{"application/octet-stream" ,"dms" },
{"application/octet-stream" ,"exe" },
{"application/octet-stream" ,"lha" },
{"application/octet-stream" ,"lzh" },
{"application/oda" ,"oda" },
{"application/olescript" ,"axs" },
{"application/pdf" ,"pdf" },
{"application/pics-rules" ,"prf" },
{"application/pkcs10" ,"p10" },
{"application/pkix-crl" ,"crl" },
{"application/postscript" ,"ai" },
{"application/postscript" ,"eps" },
{"application/postscript" ,"ps" },
{"application/rtf" ,"rtf" },
{"application/set-payment-initiation" ,"set" },
{"application/set-registration-initiation" ,"" },
{"application/vnd.ms-excel" ,"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-outlook" ,"msg" },
{"application/vnd.ms-pkicertstore" ,"sst" },
{"application/vnd.ms-pkiseccat" ,"cat" },
{"application/vnd.ms-pkistl" ,"stl" },
{"application/vnd.ms-powerpoint" ,"pot" },
{"application/vnd.ms-powerpoint" ,"pps" },
{"application/vnd.ms-powerpoint" ,"ppt" },
{"application/vnd.ms-project" ,"mpp" },
{"application/vnd.ms-works" ,"wcm" },
{"application/vnd.ms-works" ,"wdb" },
{"application/vnd.ms-works" ,"wks" },
{"application/vnd.ms-works" ,"wps" },
{"application/winhlp" ,"hlp" },
{"application/x-bcpio" ,"bcpio" },
{"application/x-cdf" ,"cdf" },
{"application/x-compress" ,"z" },
{"application/x-compressed" ,"tgz" },
{"application/x-cpio" ,"cpio" },
{"application/x-csh" ,"csh" },
{"application/x-director" ,"dcr" },
{"application/x-director" ,"dir" },
{"application/x-director" ,"dxr" },
{"application/x-dvi" ,"dvi" },
{"application/x-gtar" ,"gtar" },
{"application/x-gzip" ,"gz" },
{"application/x-hdf" ,"hdf" },
{"application/x-internet-signup" ,"ins" },
{"application/x-internet-signup" ,"isp" },
{"application/x-iphone" ,"iii" },
{"application/x-javascript" ,"js" },
{"application/x-latex" ,"latex" },
{"application/x-msaccess" ,"mdb" },
{"application/x-mscardfile" ,"crd" },
{"application/x-msclip" ,"clp" },
{"application/x-msdownload" ,"dll" },
{"application/x-msmediaview" ,"m13" },
{"application/x-msmediaview" ,"m14" },
{"application/x-msmediaview" ,"mvb" },
{"application/x-msmetafile" ,"wmf" },
{"application/x-msmoney" ,"mny" },
{"application/x-mspublisher" ,"pub" },
{"application/x-msschedule" ,"scd" },
{"application/x-msterminal" ,"trm" },
{"application/x-mswrite" ,"wri" },
{"application/x-netcdf" ,"cdf" },
{"application/x-netcdf" ,"nc" },
{"application/x-perfmon" ,"pma" },
{"application/x-perfmon" ,"pmc" },
{"application/x-perfmon" ,"pml" },
{"application/x-perfmon" ,"pmr" },
{"application/x-perfmon" ,"pmw" },
{"application/x-pkcs12" ,"p12" },
{"application/x-pkcs12" ,"pfx" },
{"application/x-pkcs7-certificates" ,"p7b" },
{"application/x-pkcs7-certificates" ,"spc" },
{"application/x-pkcs7-certreqresp" ,"p7r" },
{"application/x-pkcs7-mime" ,"p7c" },
{"application/x-pkcs7-mime" ,"p7m" },
{"application/x-pkcs7-signature" ,"p7s" },
{"application/x-sh" ,"sh" },
{"application/x-shar" ,"shar" },
{"application/x-shockwave-flash" ,"swf" },
{"application/x-stuffit" ,"sit" },
{"application/x-sv4cpio" ,"sv4cpio" },
{"application/x-sv4crc" ,"sv4crc" },
{"application/x-tar" ,"tar" },
{"application/x-tcl" ,"tcl" },
{"application/x-tex" ,"tex" },
{"application/x-texinfo" ,"texi" },
{"application/x-texinfo" ,"texinfo" },
{"application/x-troff" ,"roff" },
{"application/x-troff" ,"t" },
{"application/x-troff" ,"tr" },
{"application/x-troff-man" ,"man" },
{"application/x-troff-me" ,"me" },
{"application/x-troff-ms" ,"ms" },
{"application/x-ustar" ,"ustar" },
{"application/x-wais-source" ,"src" },
{"application/x-x509-ca-cert" ,"cer" },
{"application/x-x509-ca-cert" ,"crt" },
{"application/x-x509-ca-cert" ,"der" },
{"application/ynd.ms-pkipko" ,"pko" },
{"application/zip" ,"zip" },
{"audio/basic" ,"au" },
{"audio/basic" ,"snd" },
{"audio/mid" ,"mid" },
{"audio/mid" ,"rmi" },
{"audio/mpeg" ,"mp3" },
{"audio/x-aiff" ,"aif" },
{"audio/x-aiff" ,"aifc" },
{"audio/x-aiff" ,"aiff" },
{"audio/x-mpegurl" ,"m3u" },
{"audio/x-pn-realaudio" ,"ra" },
{"audio/x-pn-realaudio" ,"ram" },
{"audio/x-wav" ,"wav" },
{"image/bmp" ,"bmp" },
{"image/cis-cod" ,"cod" },
{"image/gif" ,"gif" },
{"image/ief" ,"ief" },
{"image/jpeg" ,"jpe" },
{"image/jpeg" ,"jpeg" },
{"image/jpeg" ,"jpg" },
{"image/pipeg" ,"jfif" },
{"image/svg+xml" ,"svg" },
{"image/tiff" ,"tif" },
{"image/tiff" ,"tiff" },
{"image/x-cmu-raster" ,"ras" },
{"image/x-cmx" ,"cmx" },
{"image/x-icon" ,"ico" },
{"image/x-portable-anymap" ,"pnm" },
{"image/x-portable-bitmap" ,"pbm" },
{"image/x-portable-graymap" ,"pgm" },
{"image/x-portable-pixmap" ,"ppm" },
{"image/x-rgb" ,"rgb" },
{"image/x-xbitmap" ,"xbm" },
{"image/x-xpixmap" ,"xpm" },
{"image/x-xwindowdump" ,"xwd" },
{"message/rfc822" ,"mht" },
{"message/rfc822" ,"mhtml" },
{"message/rfc822" ,"nws" },
{"text/css" ,"css" },
{"text/h323" ,"323" },
{"text/html" ,"htm" },
{"text/html" ,"html" },
{"text/html" ,"stm" },
{"text/iuls" ,"uls" },
{"text/plain" ,"bas" },
{"text/plain" ,"c" },
{"text/plain" ,"h" },
{"text/plain" ,"txt" },
{"text/richtext" ,"rtx" },
{"text/scriptlet" ,"sct" },
{"text/tab-separated-values" ,"tsv" },
{"text/webviewhtml" ,"htt" },
{"text/x-component" ,"htc" },
{"text/x-setext" ,"etx" },
{"text/x-vcard" ,"vcf" },
{"video/mpeg" ,"mp2" },
{"video/mpeg" ,"mpa" },
{"video/mpeg" ,"mpe" },
{"video/mpeg" ,"mpeg" },
{"video/mpeg" ,"mpg" },
{"video/mpeg" ,"mpv2" },
{"video/quicktime" ,"mov" },
{"video/quicktime" ,"qt" },
{"video/x-la-asf" ,"lsf" },
{"video/x-la-asf" ,"lsx" },
{"video/x-ms-asf" ,"asf" },
{"video/x-ms-asf" ,"asr" },
{"video/x-ms-asf" ,"asx" },
{"video/x-msvideo" ,"avi" },
{"video/x-sgi-movie" ,"movie" },
{"x-world/x-vrml" ,"flr" },
{"x-world/x-vrml" ,"vrml" },
{"x-world/x-vrml" ,"wrl" },
{"x-world/x-vrml" ,"wrz" },
{"x-world/x-vrml" ,"xaf" },
{"x-world/x-vrml" ,"xof" }
};
/**
* 按照文件扩展名排列的 Mime 类型列表
*/
String[][] MimeTableSecond = {
{"*" ,"application/octet-stream" },
{"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" },
{"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" },
{"xof" ,"x-world/x-vrml" },
{"xpm" ,"image/x-xpixmap" },
{"xwd" ,"image/x-xwindowdump" },
{"z" ,"application/x-compress" },
{"zip" ,"application/zip" }
};
来自小米文件管理器:
package net.micode.fileexplorer;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
/**
* Utilities for dealing with MIME types.
* Used to implement java.net.URLConnection and android.webkit.MimeTypeMap.
*/
public final class MimeUtils {
private static final Map mimeTypeToExtensionMap = new HashMap();
private static final Map extensionToMimeTypeMap = new HashMap();
static {
add("application/andrew-inset" , "ez" );
add("application/dsptype" , "tsp" );
add("application/futuresplash" , "spl" );
add("application/hta" , "hta" );
add("application/mac-binhex40" , "hqx" );
add("application/mac-compactpro" , "cpt" );
add("application/mathematica" , "nb" );
add("application/msaccess" , "mdb" );
add("application/oda" , "oda" );
add("application/ogg" , "ogg" );
add("application/pdf" , "pdf" );
add("application/pgp-keys" , "key" );
add("application/pgp-signature" , "pgp" );
add("application/pics-rules" , "prf" );
add("application/rar" , "rar" );
add("application/rdf+xml" , "rdf" );
add("application/rss+xml" , "rss" );
add("application/zip" , "zip" );
add("application/vnd.android.package-archive" , "apk" );
add("application/vnd.cinderella" , "cdy" );
add("application/vnd.ms-pki.stl" , "stl" );
add("application/vnd.oasis.opendocument.database" , "odb" );
add("application/vnd.oasis.opendocument.formula" , "odf" );
add("application/vnd.oasis.opendocument.graphics" , "odg" );
add("application/vnd.oasis.opendocument.graphics-template" , "otg" );
add("application/vnd.oasis.opendocument.image" , "odi" );
add("application/vnd.oasis.opendocument.spreadsheet" , "ods" );
add("application/vnd.oasis.opendocument.spreadsheet-template" , "ots" );
add("application/vnd.oasis.opendocument.text" , "odt" );
add("application/vnd.oasis.opendocument.text-master" , "odm" );
add("application/vnd.oasis.opendocument.text-template" , "ott" );
add("application/vnd.oasis.opendocument.text-web" , "oth" );
add("application/vnd.google-earth.kml+xml" , "kml" );
add("application/vnd.google-earth.kmz" , "kmz" );
add("application/msword" , "doc" );
add("application/msword" , "dot" );
add("application/vnd.openxmlformats-officedocument.wordprocessingml.document" , "docx" );
add("application/vnd.openxmlformats-officedocument.wordprocessingml.template" , "dotx" );
add("application/vnd.ms-excel" , "xls" );
add("application/vnd.ms-excel" , "xlt" );
add("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" , "xlsx" );
add("application/vnd.openxmlformats-officedocument.spreadsheetml.template" , "xltx" );
add("application/vnd.ms-powerpoint" , "ppt" );
add("application/vnd.ms-powerpoint" , "pot" );
add("application/vnd.ms-powerpoint" , "pps" );
add("application/vnd.openxmlformats-officedocument.presentationml.presentation" , "pptx" );
add("application/vnd.openxmlformats-officedocument.presentationml.template" , "potx" );
add("application/vnd.openxmlformats-officedocument.presentationml.slideshow" , "ppsx" );
add("application/vnd.rim.cod" , "cod" );
add("application/vnd.smaf" , "mmf" );
add("application/vnd.stardivision.calc" , "sdc" );
add("application/vnd.stardivision.draw" , "sda" );
add("application/vnd.stardivision.impress" , "sdd" );
add("application/vnd.stardivision.impress" , "sdp" );
add("application/vnd.stardivision.math" , "smf" );
add("application/vnd.stardivision.writer" , "sdw" );
add("application/vnd.stardivision.writer" , "vor" );
add("application/vnd.stardivision.writer-global" , "sgl" );
add("application/vnd.sun.xml.calc" , "sxc" );
add("application/vnd.sun.xml.calc.template" , "stc" );
add("application/vnd.sun.xml.draw" , "sxd" );
add("application/vnd.sun.xml.draw.template" , "std" );
add("application/vnd.sun.xml.impress" , "sxi" );
add("application/vnd.sun.xml.impress.template" , "sti" );
add("application/vnd.sun.xml.math" , "sxm" );
add("application/vnd.sun.xml.writer" , "sxw" );
add("application/vnd.sun.xml.writer.global" , "sxg" );
add("application/vnd.sun.xml.writer.template" , "stw" );
add("application/vnd.visio" , "vsd" );
add("application/x-abiword" , "abw" );
add("application/x-apple-diskimage" , "dmg" );
add("application/x-bcpio" , "bcpio" );
add("application/x-bittorrent" , "torrent" );
add("application/x-cdf" , "cdf" );
add("application/x-cdlink" , "vcd" );
add("application/x-chess-pgn" , "pgn" );
add("application/x-cpio" , "cpio" );
add("application/x-debian-package" , "deb" );
add("application/x-debian-package" , "udeb" );
add("application/x-director" , "dcr" );
add("application/x-director" , "dir" );
add("application/x-director" , "dxr" );
add("application/x-dms" , "dms" );
add("application/x-doom" , "wad" );
add("application/x-dvi" , "dvi" );
add("application/x-flac" , "flac" );
add("application/x-font" , "pfa" );
add("application/x-font" , "pfb" );
add("application/x-font" , "gsf" );
add("application/x-font" , "pcf" );
add("application/x-font" , "pcf.Z" );
add("application/x-freemind" , "mm" );
add("application/x-futuresplash" , "spl" );
add("application/x-gnumeric" , "gnumeric" );
add("application/x-go-sgf" , "sgf" );
add("application/x-graphing-calculator" , "gcf" );
add("application/x-gtar" , "gtar" );
add("application/x-gtar" , "tgz" );
add("application/x-gtar" , "taz" );
add("application/x-hdf" , "hdf" );
add("application/x-ica" , "ica" );
add("application/x-internet-signup" , "ins" );
add("application/x-internet-signup" , "isp" );
add("application/x-iphone" , "iii" );
add("application/x-iso9660-image" , "iso" );
add("application/x-jmol" , "jmz" );
add("application/x-kchart" , "chrt" );
add("application/x-killustrator" , "kil" );
add("application/x-koan" , "skp" );
add("application/x-koan" , "skd" );
add("application/x-koan" , "skt" );
add("application/x-koan" , "skm" );
add("application/x-kpresenter" , "kpr" );
add("application/x-kpresenter" , "kpt" );
add("application/x-kspread" , "ksp" );
add("application/x-kword" , "kwd" );
add("application/x-kword" , "kwt" );
add("application/x-latex" , "latex" );
add("application/x-lha" , "lha" );
add("application/x-lzh" , "lzh" );
add("application/x-lzx" , "lzx" );
add("application/x-maker" , "frm" );
add("application/x-maker" , "maker" );
add("application/x-maker" , "frame" );
add("application/x-maker" , "fb" );
add("application/x-maker" , "book" );
add("application/x-maker" , "fbdoc" );
add("application/x-mif" , "mif" );
add("application/x-ms-wmd" , "wmd" );
add("application/x-ms-wmz" , "wmz" );
add("application/x-msi" , "msi" );
add("application/x-ns-proxy-autoconfig" , "pac" );
add("application/x-nwc" , "nwc" );
add("application/x-object" , "o" );
add("application/x-oz-application" , "oza" );
add("application/x-pkcs12" , "p12" );
add("application/x-pkcs7-certreqresp" , "p7r" );
add("application/x-pkcs7-crl" , "crl" );
add("application/x-quicktimeplayer" , "qtl" );
add("application/x-shar" , "shar" );
add("application/x-shockwave-flash" , "swf" );
add("application/x-stuffit" , "sit" );
add("application/x-sv4cpio" , "sv4cpio" );
add("application/x-sv4crc" , "sv4crc" );
add("application/x-tar" , "tar" );
add("application/x-texinfo" , "texinfo" );
add("application/x-texinfo" , "texi" );
add("application/x-troff" , "t" );
add("application/x-troff" , "roff" );
add("application/x-troff-man" , "man" );
add("application/x-ustar" , "ustar" );
add("application/x-wais-source" , "src" );
add("application/x-wingz" , "wz" );
add("application/x-webarchive" , "webarchive" );
add("application/x-webarchive-xml" , "webarchivexml" );
add("application/x-x509-ca-cert" , "crt" );
add("application/x-x509-user-cert" , "crt" );
add("application/x-xcf" , "xcf" );
add("application/x-xfig" , "fig" );
add("application/xhtml+xml" , "xhtml" );
add("audio/3gpp" , "3gpp" );
add("audio/amr" , "amr" );
add("audio/basic" , "snd" );
add("audio/midi" , "mid" );
add("audio/midi" , "midi" );
add("audio/midi" , "kar" );
add("audio/midi" , "xmf" );
add("audio/mobile-xmf" , "mxmf" );
add("audio/mpeg" , "mpga" );
add("audio/mpeg" , "mpega" );
add("audio/mpeg" , "mp2" );
add("audio/mpeg" , "mp3" );
add("audio/mpeg" , "m4a" );
add("audio/mpegurl" , "m3u" );
add("audio/prs.sid" , "sid" );
add("audio/x-aiff" , "aif" );
add("audio/x-aiff" , "aiff" );
add("audio/x-aiff" , "aifc" );
add("audio/x-gsm" , "gsm" );
add("audio/x-mpegurl" , "m3u" );
add("audio/x-ms-wma" , "wma" );
add("audio/x-ms-wax" , "wax" );
add("audio/x-pn-realaudio" , "ra" );
add("audio/x-pn-realaudio" , "rm" );
add("audio/x-pn-realaudio" , "ram" );
add("audio/x-realaudio" , "ra" );
add("audio/x-scpls" , "pls" );
add("audio/x-sd2" , "sd2" );
add("audio/x-wav" , "wav" );
add("image/bmp" , "bmp" );
add("audio/x-qcp" , "qcp" );
add("image/gif" , "gif" );
add("image/ico" , "cur" );
add("image/ico" , "ico" );
add("image/ief" , "ief" );
add("image/jpeg" , "jpeg" );
add("image/jpeg" , "jpg" );
add("image/jpeg" , "jpe" );
add("image/pcx" , "pcx" );
add("image/png" , "png" );
add("image/svg+xml" , "svg" );
add("image/svg+xml" , "svgz" );
add("image/tiff" , "tiff" );
add("image/tiff" , "tif" );
add("image/vnd.djvu" , "djvu" );
add("image/vnd.djvu" , "djv" );
add("image/vnd.wap.wbmp" , "wbmp" );
add("image/x-cmu-raster" , "ras" );
add("image/x-coreldraw" , "cdr" );
add("image/x-coreldrawpattern" , "pat" );
add("image/x-coreldrawtemplate" , "cdt" );
add("image/x-corelphotopaint" , "cpt" );
add("image/x-icon" , "ico" );
add("image/x-jg" , "art" );
add("image/x-jng" , "jng" );
add("image/x-ms-bmp" , "bmp" );
add("image/x-photoshop" , "psd" );
add("image/x-portable-anymap" , "pnm" );
add("image/x-portable-bitmap" , "pbm" );
add("image/x-portable-graymap" , "pgm" );
add("image/x-portable-pixmap" , "ppm" );
add("image/x-rgb" , "rgb" );
add("image/x-xbitmap" , "xbm" );
add("image/x-xpixmap" , "xpm" );
add("image/x-xwindowdump" , "xwd" );
add("model/iges" , "igs" );
add("model/iges" , "iges" );
add("model/mesh" , "msh" );
add("model/mesh" , "mesh" );
add("model/mesh" , "silo" );
add("text/calendar" , "ics" );
add("text/calendar" , "icz" );
add("text/comma-separated-values" , "csv" );
add("text/css" , "css" );
add("text/html" , "htm" );
add("text/html" , "html" );
add("text/h323" , "323" );
add("text/iuls" , "uls" );
add("text/mathml" , "mml" );
add("text/plain" , "txt" );
add("text/plain" , "asc" );
add("text/plain" , "text" );
add("text/plain" , "diff" );
add("text/plain" , "po" );
add("text/richtext" , "rtx" );
add("text/rtf" , "rtf" );
add("text/texmacs" , "ts" );
add("text/text" , "phps" );
add("text/tab-separated-values" , "tsv" );
add("text/xml" , "xml" );
add("text/x-bibtex" , "bib" );
add("text/x-boo" , "boo" );
add("text/x-c++hdr" , "h++" );
add("text/x-c++hdr" , "hpp" );
add("text/x-c++hdr" , "hxx" );
add("text/x-c++hdr" , "hh" );
add("text/x-c++src" , "c++" );
add("text/x-c++src" , "cpp" );
add("text/x-c++src" , "cxx" );
add("text/x-chdr" , "h" );
add("text/x-component" , "htc" );
add("text/x-csh" , "csh" );
add("text/x-csrc" , "c" );
add("text/x-dsrc" , "d" );
add("text/x-haskell" , "hs" );
add("text/x-java" , "java" );
add("text/x-literate-haskell" , "lhs" );
add("text/x-moc" , "moc" );
add("text/x-pascal" , "p" );
add("text/x-pascal" , "pas" );
add("text/x-pcs-gcd" , "gcd" );
add("text/x-setext" , "etx" );
add("text/x-tcl" , "tcl" );
add("text/x-tex" , "tex" );
add("text/x-tex" , "ltx" );
add("text/x-tex" , "sty" );
add("text/x-tex" , "cls" );
add("text/x-vcalendar" , "vcs" );
add("text/x-vcard" , "vcf" );
add("video/3gpp" , "3gpp" );
add("video/3gpp" , "3gp" );
add("video/3gpp" , "3g2" );
add("video/dl" , "dl" );
add("video/dv" , "dif" );
add("video/dv" , "dv" );
add("video/fli" , "fli" );
add("video/m4v" , "m4v" );
add("video/mpeg" , "mpeg" );
add("video/mpeg" , "mpg" );
add("video/mpeg" , "mpe" );
add("video/mp4" , "mp4" );
add("video/mpeg" , "VOB" );
add("video/quicktime" , "qt" );
add("video/quicktime" , "mov" );
add("video/vnd.mpegurl" , "mxu" );
add("video/webm" , "webm" );
add("video/x-la-asf" , "lsf" );
add("video/x-la-asf" , "lsx" );
add("video/x-mng" , "mng" );
add("video/x-ms-asf" , "asf" );
add("video/x-ms-asf" , "asx" );
add("video/x-ms-wm" , "wm" );
add("video/x-ms-wmv" , "wmv" );
add("video/x-ms-wmx" , "wmx" );
add("video/x-ms-wvx" , "wvx" );
add("video/x-msvideo" , "avi" );
add("video/x-sgi-movie" , "movie" );
add("x-conference/x-cooltalk" , "ice" );
add("x-epoc/x-sisx-app" , "sisx" );
applyOverrides();
}
private static void add (String mimeType, String extension) {
if (!mimeTypeToExtensionMap.containsKey(mimeType)) {
mimeTypeToExtensionMap.put(mimeType, extension);
}
extensionToMimeTypeMap.put(extension, mimeType);
}
private static InputStream getContentTypesPropertiesStream () {
String userTable = System.getProperty("content.types.user.table" );
if (userTable != null ) {
File f = new File(userTable);
if (f.exists()) {
try {
return new FileInputStream(f);
} catch (IOException ignored) {
}
}
}
File f = new File(System.getProperty("java.home" ), "lib" + File.separator + "content-types.properties" );
if (f.exists()) {
try {
return new FileInputStream(f);
} catch (IOException ignored) {
}
}
return null ;
}
/**
* This isn't what the RI does. The RI doesn't have hard-coded defaults, so supplying your
* own "content.types.user.table" means you don't get any of the built-ins, and the built-ins
* come from "$JAVA_HOME/lib/content-types.properties".
*/
private static void applyOverrides () {
InputStream stream = getContentTypesPropertiesStream();
if (stream == null ) {
return ;
}
try {
try {
Properties overrides = new Properties();
overrides.load(stream);
for (Map.Entry entry : overrides.entrySet()) {
String extension = (String) entry.getKey();
String mimeType = (String) entry.getValue();
add(mimeType, extension);
}
} finally {
stream.close();
}
} catch (IOException ignored) {
}
}
private MimeUtils () {
}
/**
* Returns true if the given MIME type has an entry in the map.
* @param mimeType A MIME type (i.e. text/plain)
* @return True iff there is a mimeType entry in the map.
*/
public static boolean hasMimeType (String mimeType) {
if (mimeType == null || mimeType.isEmpty()) {
return false ;
}
return mimeTypeToExtensionMap.containsKey(mimeType);
}
/**
* Returns the MIME type for the given extension.
* @param extension A file extension without the leading '.'
* @return The MIME type for the given extension or null iff there is none.
*/
public static String guessMimeTypeFromExtension (String extension) {
if (extension == null || extension.isEmpty()) {
return null ;
}
return extensionToMimeTypeMap.get(extension);
}
/**
* Returns true if the given extension has a registered MIME type.
* @param extension A file extension without the leading '.'
* @return True iff there is an extension entry in the map.
*/
public static boolean hasExtension (String extension) {
if (extension == null || extension.isEmpty()) {
return false ;
}
return extensionToMimeTypeMap.containsKey(extension);
}
/**
* Returns the registered extension for the given MIME type. Note that some
* MIME types map to multiple extensions. This call will return the most
* common extension for the given MIME type.
* @param mimeType A MIME type (i.e. text/plain)
* @return The extension for the given MIME type or null iff there is none.
*/
public static String guessExtensionFromMimeType (String mimeType) {
if (mimeType == null || mimeType.isEmpty()) {
return null ;
}
return mimeTypeToExtensionMap.get(mimeType);
}
}
键值对颠倒整理
("ez" ,"application/andrew-inset" )
("tsp" ,"application/dsptype" )
("spl" ,"application/futuresplash" )
("hta" ,"application/hta" )
("hqx" ,"application/mac-binhex40" )
("cpt" ,"application/mac-compactpro" )
("nb" ,"application/mathematica" )
("mdb" ,"application/msaccess" )
("oda" ,"application/oda" )
("ogg" ,"application/ogg" )
("pdf" ,"application/pdf" )
("key" ,"application/pgp-keys" )
("pgp" ,"application/pgp-signature" )
("prf" ,"application/pics-rules" )
("rar" ,"application/rar" )
("rdf" ,"application/rdf+xml" )
("rss" ,"application/rss+xml" )
("zip" ,"application/zip" )
("apk" ,"application/vnd.android.package-archive" )
("cdy" ,"application/vnd.cinderella" )
("stl" ,"application/vnd.ms-pki.stl" )
("odb" ,"application/vnd.oasis.opendocument.database" )
("odf" ,"application/vnd.oasis.opendocument.formula" )
("odg" ,"application/vnd.oasis.opendocument.graphics" )
("otg" ,"application/vnd.oasis.opendocument.graphics-template" )
("odi" ,"application/vnd.oasis.opendocument.image" )
("ods" ,"application/vnd.oasis.opendocument.spreadsheet" )
("ots" ,"application/vnd.oasis.opendocument.spreadsheet-template" )
("odt" ,"application/vnd.oasis.opendocument.text" )
("odm" ,"application/vnd.oasis.opendocument.text-master" )
("ott" ,"application/vnd.oasis.opendocument.text-template" )
("oth" ,"application/vnd.oasis.opendocument.text-web" )
("kml" ,"application/vnd.google-earth.kml+xml" )
("kmz" ,"application/vnd.google-earth.kmz" )
("doc" ,"application/msword" )
("dot" ,"application/msword" )
("docx" ,"application/vnd.openxmlformats-officedocument.wordprocessingml.document" )
("dotx" ,"application/vnd.openxmlformats-officedocument.wordprocessingml.template" )
("xls" ,"application/vnd.ms-excel" )
("xlt" ,"application/vnd.ms-excel" )
("xlsx" ,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" )
("xltx" ,"application/vnd.openxmlformats-officedocument.spreadsheetml.template" )
("ppt" ,"application/vnd.ms-powerpoint" )
("pot" ,"application/vnd.ms-powerpoint" )
("pps" ,"application/vnd.ms-powerpoint" )
("pptx" ,"application/vnd.openxmlformats-officedocument.presentationml.presentation" )
("potx" ,"application/vnd.openxmlformats-officedocument.presentationml.template" )
("ppsx" ,"application/vnd.openxmlformats-officedocument.presentationml.slideshow" )
("cod" ,"application/vnd.rim.cod" )
("mmf" ,"application/vnd.smaf" )
("sdc" ,"application/vnd.stardivision.calc" )
("sda" ,"application/vnd.stardivision.draw" )
("sdd" ,"application/vnd.stardivision.impress" )
("sdp" ,"application/vnd.stardivision.impress" )
("smf" ,"application/vnd.stardivision.math" )
("sdw" ,"application/vnd.stardivision.writer" )
("vor" ,"application/vnd.stardivision.writer" )
("sgl" ,"application/vnd.stardivision.writer-global" )
("sxc" ,"application/vnd.sun.xml.calc" )
("stc" ,"application/vnd.sun.xml.calc.template" )
("sxd" ,"application/vnd.sun.xml.draw" )
("std" ,"application/vnd.sun.xml.draw.template" )
("sxi" ,"application/vnd.sun.xml.impress" )
("sti" ,"application/vnd.sun.xml.impress.template" )
("sxm" ,"application/vnd.sun.xml.math" )
("sxw" ,"application/vnd.sun.xml.writer" )
("sxg" ,"application/vnd.sun.xml.writer.global" )
("stw" ,"application/vnd.sun.xml.writer.template" )
("vsd" ,"application/vnd.visio" )
("abw" ,"application/x-abiword" )
("dmg" ,"application/x-apple-diskimage" )
("bcpio" ,"application/x-bcpio" )
("torrent" ,"application/x-bittorrent" )
("cdf" ,"application/x-cdf" )
("vcd" ,"application/x-cdlink" )
("pgn" ,"application/x-chess-pgn" )
("cpio" ,"application/x-cpio" )
("deb" ,"application/x-debian-package" )
("udeb" ,"application/x-debian-package" )
("dcr" ,"application/x-director" )
("dir" ,"application/x-director" )
("dxr" ,"application/x-director" )
("dms" ,"application/x-dms" )
("wad" ,"application/x-doom" )
("dvi" ,"application/x-dvi" )
("flac" ,"application/x-flac" )
("pfa" ,"application/x-font" )
("pfb" ,"application/x-font" )
("gsf" ,"application/x-font" )
("pcf" ,"application/x-font" )
("pcf.z" ,"application/x-font" )
("mm" ,"application/x-freemind" )
("spl" ,"application/x-futuresplash" )
("gnumeric" ,"application/x-gnumeric" )
("sgf" ,"application/x-go-sgf" )
("gcf" ,"application/x-graphing-calculator" )
("gtar" ,"application/x-gtar" )
("tgz" ,"application/x-gtar" )
("taz" ,"application/x-gtar" )
("hdf" ,"application/x-hdf" )
("ica" ,"application/x-ica" )
("ins" ,"application/x-internet-signup" )
("isp" ,"application/x-internet-signup" )
("iii" ,"application/x-iphone" )
("iso" ,"application/x-iso9660-image" )
("jmz" ,"application/x-jmol" )
("chrt" ,"application/x-kchart" )
("kil" ,"application/x-killustrator" )
("skp" ,"application/x-koan" )
("skd" ,"application/x-koan" )
("skt" ,"application/x-koan" )
("skm" ,"application/x-koan" )
("kpr" ,"application/x-kpresenter" )
("kpt" ,"application/x-kpresenter" )
("ksp" ,"application/x-kspread" )
("kwd" ,"application/x-kword" )
("kwt" ,"application/x-kword" )
("latex" ,"application/x-latex" )
("lha" ,"application/x-lha" )
("lzh" ,"application/x-lzh" )
("lzx" ,"application/x-lzx" )
("frm" ,"application/x-maker" )
("maker" ,"application/x-maker" )
("frame" ,"application/x-maker" )
("fb" ,"application/x-maker" )
("book" ,"application/x-maker" )
("fbdoc" ,"application/x-maker" )
("mif" ,"application/x-mif" )
("wmd" ,"application/x-ms-wmd" )
("wmz" ,"application/x-ms-wmz" )
("msi" ,"application/x-msi" )
("pac" ,"application/x-ns-proxy-autoconfig" )
("nwc" ,"application/x-nwc" )
("o" ,"application/x-object" )
("oza" ,"application/x-oz-application" )
("p12" ,"application/x-pkcs12" )
("p7r" ,"application/x-pkcs7-certreqresp" )
("crl" ,"application/x-pkcs7-crl" )
("qtl" ,"application/x-quicktimeplayer" )
("shar" ,"application/x-shar" )
("swf" ,"application/x-shockwave-flash" )
("sit" ,"application/x-stuffit" )
("sv4cpio" ,"application/x-sv4cpio" )
("sv4crc" ,"application/x-sv4crc" )
("tar" ,"application/x-tar" )
("texinfo" ,"application/x-texinfo" )
("texi" ,"application/x-texinfo" )
("t" ,"application/x-troff" )
("roff" ,"application/x-troff" )
("man" ,"application/x-troff-man" )
("ustar" ,"application/x-ustar" )
("src" ,"application/x-wais-source" )
("wz" ,"application/x-wingz" )
("webarchive" ,"application/x-webarchive" )
("webarchivexml" ,"application/x-webarchive-xml" )
("crt" ,"application/x-x509-ca-cert" )
("crt" ,"application/x-x509-user-cert" )
("xcf" ,"application/x-xcf" )
("fig" ,"application/x-xfig" )
("xhtml" ,"application/xhtml+xml" )
("3gpp" ,"audio/3gpp" )
("amr" ,"audio/amr" )
("snd" ,"audio/basic" )
("mid" ,"audio/midi" )
("midi" ,"audio/midi" )
("kar" ,"audio/midi" )
("xmf" ,"audio/midi" )
("mxmf" ,"audio/mobile-xmf" )
("mpga" ,"audio/mpeg" )
("mpega" ,"audio/mpeg" )
("mp2" ,"audio/mpeg" )
("mp3" ,"audio/mpeg" )
("m4a" ,"audio/mpeg" )
("m3u" ,"audio/mpegurl" )
("sid" ,"audio/prs.sid" )
("aif" ,"audio/x-aiff" )
("aiff" ,"audio/x-aiff" )
("aifc" ,"audio/x-aiff" )
("gsm" ,"audio/x-gsm" )
("m3u" ,"audio/x-mpegurl" )
("wma" ,"audio/x-ms-wma" )
("wax" ,"audio/x-ms-wax" )
("ra" ,"audio/x-pn-realaudio" )
("rm" ,"audio/x-pn-realaudio" )
("ram" ,"audio/x-pn-realaudio" )
("ra" ,"audio/x-realaudio" )
("pls" ,"audio/x-scpls" )
("sd2" ,"audio/x-sd2" )
("wav" ,"audio/x-wav" )
("bmp" ,"image/bmp" )
("qcp" ,"audio/x-qcp" )
("gif" ,"image/gif" )
("cur" ,"image/ico" )
("ico" ,"image/ico" )
("ief" ,"image/ief" )
("jpeg" ,"image/jpeg" )
("jpg" ,"image/jpeg" )
("jpe" ,"image/jpeg" )
("pcx" ,"image/pcx" )
("png" ,"image/png" )
("svg" ,"image/svg+xml" )
("svgz" ,"image/svg+xml" )
("tiff" ,"image/tiff" )
("tif" ,"image/tiff" )
("djvu" ,"image/vnd.djvu" )
("djv" ,"image/vnd.djvu" )
("wbmp" ,"image/vnd.wap.wbmp" )
("ras" ,"image/x-cmu-raster" )
("cdr" ,"image/x-coreldraw" )
("pat" ,"image/x-coreldrawpattern" )
("cdt" ,"image/x-coreldrawtemplate" )
("cpt" ,"image/x-corelphotopaint" )
("ico" ,"image/x-icon" )
("art" ,"image/x-jg" )
("jng" ,"image/x-jng" )
("bmp" ,"image/x-ms-bmp" )
("psd" ,"image/x-photoshop" )
("pnm" ,"image/x-portable-anymap" )
("pbm" ,"image/x-portable-bitmap" )
("pgm" ,"image/x-portable-graymap" )
("ppm" ,"image/x-portable-pixmap" )
("rgb" ,"image/x-rgb" )
("xbm" ,"image/x-xbitmap" )
("xpm" ,"image/x-xpixmap" )
("xwd" ,"image/x-xwindowdump" )
("igs" ,"model/iges" )
("iges" ,"model/iges" )
("msh" ,"model/mesh" )
("mesh" ,"model/mesh" )
("silo" ,"model/mesh" )
("ics" ,"text/calendar" )
("icz" ,"text/calendar" )
("csv" ,"text/comma-separated-values" )
("css" ,"text/css" )
("htm" ,"text/html" )
("html" ,"text/html" )
("323" ,"text/h323" )
("uls" ,"text/iuls" )
("mml" ,"text/mathml" )
("txt" ,"text/plain" )
("asc" ,"text/plain" )
("text" ,"text/plain" )
("diff" ,"text/plain" )
("po" ,"text/plain" )
("rtx" ,"text/richtext" )
("rtf" ,"text/rtf" )
("ts" ,"text/texmacs" )
("phps" ,"text/text" )
("tsv" ,"text/tab-separated-values" )
("xml" ,"text/xml" )
("bib" ,"text/x-bibtex" )
("boo" ,"text/x-boo" )
("h++" ,"text/x-c++hdr" )
("hpp" ,"text/x-c++hdr" )
("hxx" ,"text/x-c++hdr" )
("hh" ,"text/x-c++hdr" )
("c++" ,"text/x-c++src" )
("cpp" ,"text/x-c++src" )
("cxx" ,"text/x-c++src" )
("h" ,"text/x-chdr" )
("htc" ,"text/x-component" )
("csh" ,"text/x-csh" )
("c" ,"text/x-csrc" )
("d" ,"text/x-dsrc" )
("hs" ,"text/x-haskell" )
("java" ,"text/x-java" )
("lhs" ,"text/x-literate-haskell" )
("moc" ,"text/x-moc" )
("p" ,"text/x-pascal" )
("pas" ,"text/x-pascal" )
("gcd" ,"text/x-pcs-gcd" )
("etx" ,"text/x-setext" )
("tcl" ,"text/x-tcl" )
("tex" ,"text/x-tex" )
("ltx" ,"text/x-tex" )
("sty" ,"text/x-tex" )
("cls" ,"text/x-tex" )
("vcs" ,"text/x-vcalendar" )
("vcf" ,"text/x-vcard" )
("3gpp" ,"video/3gpp" )
("3gp" ,"video/3gpp" )
("3g2" ,"video/3gpp" )
("dl" ,"video/dl" )
("dif" ,"video/dv" )
("dv" ,"video/dv" )
("fli" ,"video/fli" )
("m4v" ,"video/m4v" )
("mpeg" ,"video/mpeg" )
("mpg" ,"video/mpeg" )
("mpe" ,"video/mpeg" )
("mp4" ,"video/mp4" )
("vob" ,"video/mpeg" )
("qt" ,"video/quicktime" )
("mov" ,"video/quicktime" )
("mxu" ,"video/vnd.mpegurl" )
("webm" ,"video/webm" )
("lsf" ,"video/x-la-asf" )
("lsx" ,"video/x-la-asf" )
("mng" ,"video/x-mng" )
("asf" ,"video/x-ms-asf" )
("asx" ,"video/x-ms-asf" )
("wm" ,"video/x-ms-wm" )
("wmv" ,"video/x-ms-wmv" )
("wmx" ,"video/x-ms-wmx" )
("wvx" ,"video/x-ms-wvx" )
("avi" ,"video/x-msvideo" )
("movie" ,"video/x-sgi-movie" )
("ice" ,"x-conference/x-cooltalk" )
("sisx" ,"x-epoc/x-sisx-app" )
提问:同一个后缀名对应多个MIME值是什么情况,怎么解释。希望有明白的能留言交流。