What is a correct mime type for docx, pptx etc?
对于较旧的* .doc文档,这已足够:
1 | header("Content-Type: application/msword"); |
我应该将哪些mime类型用于新的docx文档? 还适用于pptx和xlsx文件?
以下是HTTP Content Streaming的正确Microsoft Office MIME类型:
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 | Extension MIME Type .doc application/msword .dot application/msword .docx application/vnd.openxmlformats-officedocument.wordprocessingml.document .dotx application/vnd.openxmlformats-officedocument.wordprocessingml.template .docm application/vnd.ms-word.document.macroEnabled.12 .dotm application/vnd.ms-word.template.macroEnabled.12 .xls application/vnd.ms-excel .xlt application/vnd.ms-excel .xla application/vnd.ms-excel .xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xltx application/vnd.openxmlformats-officedocument.spreadsheetml.template .xlsm application/vnd.ms-excel.sheet.macroEnabled.12 .xltm application/vnd.ms-excel.template.macroEnabled.12 .xlam application/vnd.ms-excel.addin.macroEnabled.12 .xlsb application/vnd.ms-excel.sheet.binary.macroEnabled.12 .ppt application/vnd.ms-powerpoint .pot application/vnd.ms-powerpoint .pps application/vnd.ms-powerpoint .ppa 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 .ppam application/vnd.ms-powerpoint.addin.macroEnabled.12 .pptm application/vnd.ms-powerpoint.presentation.macroEnabled.12 .potm application/vnd.ms-powerpoint.template.macroEnabled.12 .ppsm application/vnd.ms-powerpoint.slideshow.macroEnabled.12 .mdb application/vnd.ms-access |
有关详细信息,请查看此TechNet文章和此博客文章。
或者,如果您在.Net v4.5或更高版本中工作,请尝试使用System.Web.MimeMapping.GetMimeMapping(yourFileName)来获取MIME类型 - 比硬编码字符串要好得多
这是一个(几乎)完整的所有文件扩展名的MIME,采用JSON格式。
举个例子:MIME ["ppt"],MIME ["docx"]等
1 | {"x3d":"application/vnd.hzn-3d-crossword","3gp":"video/3gpp","3g2":"video/3gpp2","mseq":"application/vnd.mseq","pwn":"application/vnd.3m.post-it-notes","plb":"application/vnd.3gpp.pic-bw-large","psb":"application/vnd.3gpp.pic-bw-small","pvb":"application/vnd.3gpp.pic-bw-var","tcap":"application/vnd.3gpp2.tcap","7z":"application/x-7z-compressed","abw":"application/x-abiword","ace":"application/x-ace-compressed","acc":"application/vnd.americandynamics.acc","acu":"application/vnd.acucobol","atc":"application/vnd.acucorp","adp":"audio/adpcm","aab":"application/x-authorware-bin","aam":"application/x-authorware-map","aas":"application/x-authorware-seg","air":"application/vnd.adobe.air-application-installer-package+zip","swf":"application/x-shockwave-flash","fxp":"application/vnd.adobe.fxp","pdf":"application/pdf","ppd":"application/vnd.cups-ppd","dir":"application/x-director","xdp":"application/vnd.adobe.xdp+xml","xfdf":"application/vnd.adobe.xfdf","aac":"audio/x-aac","ahead":"application/vnd.ahead.space","azf":"application/vnd.airzip.filesecure.azf","azs":"application/vnd.airzip.filesecure.azs","azw":"application/vnd.amazon.ebook","ami":"application/vnd.amiga.ami","N/A":"application/andrew-inset","apk":"application/vnd.android.package-archive","cii":"application/vnd.anser-web-certificate-issue-initiation","fti":"application/vnd.anser-web-funds-transfer-initiation","atx":"application/vnd.antix.game-component","dmg":"application/x-apple-diskimage","mpkg":"application/vnd.apple.installer+xml","aw":"application/applixware","les":"application/vnd.hhe.lesson-player","swi":"application/vnd.aristanetworks.swi","s":"text/x-asm","atomcat":"application/atomcat+xml","atomsvc":"application/atomsvc+xml","atom, .xml":"application/atom+xml","ac":"application/pkix-attr-cert","aif":"audio/x-aiff","avi":"video/x-msvideo","aep":"application/vnd.audiograph","dxf":"image/vnd.dxf","dwf":"model/vnd.dwf","par":"text/plain-bas","bcpio":"application/x-bcpio","bin":"application/octet-stream","bmp":"image/bmp","torrent":"application/x-bittorrent","cod":"application/vnd.rim.cod","mpm":"application/vnd.blueice.multipass","bmi":"application/vnd.bmi","sh":"application/x-sh","btif":"image/prs.btif","rep":"application/vnd.businessobjects","bz":"application/x-bzip","bz2":"application/x-bzip2","csh":"application/x-csh","c":"text/x-c","cdxml":"application/vnd.chemdraw+xml","css":"text/css","cdx":"chemical/x-cdx","cml":"chemical/x-cml","csml":"chemical/x-csml","cdbcmsg":"application/vnd.contact.cmsg","cla":"application/vnd.claymore","c4g":"application/vnd.clonk.c4group","sub":"image/vnd.dvb.subtitle","cdmia":"application/cdmi-capability","cdmic":"application/cdmi-container","cdmid":"application/cdmi-domain","cdmio":"application/cdmi-object","cdmiq":"application/cdmi-queue","c11amc":"application/vnd.cluetrust.cartomobile-config","c11amz":"application/vnd.cluetrust.cartomobile-config-pkg","ras":"image/x-cmu-raster","dae":"model/vnd.collada+xml","csv":"text/csv","cpt":"application/mac-compactpro","wmlc":"application/vnd.wap.wmlc","cgm":"image/cgm","ice":"x-conference/x-cooltalk","cmx":"image/x-cmx","xar":"application/vnd.xara","cmc":"application/vnd.cosmocaller","cpio":"application/x-cpio","clkx":"application/vnd.crick.clicker","clkk":"application/vnd.crick.clicker.keyboard","clkp":"application/vnd.crick.clicker.palette","clkt":"application/vnd.crick.clicker.template","clkw":"application/vnd.crick.clicker.wordbank","wbs":"application/vnd.criticaltools.wbs+xml","cryptonote":"application/vnd.rig.cryptonote","cif":"chemical/x-cif","cmdf":"chemical/x-cmdf","cu":"application/cu-seeme","cww":"application/prs.cww","curl":"text/vnd.curl","dcurl":"text/vnd.curl.dcurl","mcurl":"text/vnd.curl.mcurl","scurl":"text/vnd.curl.scurl","car":"application/vnd.curl.car","pcurl":"application/vnd.curl.pcurl","cmp":"application/vnd.yellowriver-custom-menu","dssc":"application/dssc+der","xdssc":"application/dssc+xml","deb":"application/x-debian-package","uva":"audio/vnd.dece.audio","uvi":"image/vnd.dece.graphic","uvh":"video/vnd.dece.hd","uvm":"video/vnd.dece.mobile","uvu":"video/vnd.uvvu.mp4","uvp":"video/vnd.dece.pd","uvs":"video/vnd.dece.sd","uvv":"video/vnd.dece.video","dvi":"application/x-dvi","seed":"application/vnd.fdsn.seed","dtb":"application/x-dtbook+xml","res":"application/x-dtbresource+xml","ait":"application/vnd.dvb.ait","svc":"application/vnd.dvb.service","eol":"audio/vnd.digital-winds","djvu":"image/vnd.djvu","dtd":"application/xml-dtd","mlp":"application/vnd.dolby.mlp","wad":"application/x-doom","dpg":"application/vnd.dpgraph","dra":"audio/vnd.dra","dfac":"application/vnd.dreamfactory","dts":"audio/vnd.dts","dtshd":"audio/vnd.dts.hd","dwg":"image/vnd.dwg","geo":"application/vnd.dynageo","es":"application/ecmascript","mag":"application/vnd.ecowin.chart","mmr":"image/vnd.fujixerox.edmics-mmr","rlc":"image/vnd.fujixerox.edmics-rlc","exi":"application/exi","mgz":"application/vnd.proteus.magazine","epub":"application/epub+zip","eml":"message/rfc822","nml":"application/vnd.enliven","xpr":"application/vnd.is-xpr","xif":"image/vnd.xiff","xfdl":"application/vnd.xfdl","emma":"application/emma+xml","ez2":"application/vnd.ezpix-album","ez3":"application/vnd.ezpix-package","fst":"image/vnd.fst","fvt":"video/vnd.fvt","fbs":"image/vnd.fastbidsheet","fe_launch":"application/vnd.denovo.fcselayout-link","f4v":"video/x-f4v","flv":"video/x-flv","fpx":"image/vnd.fpx","npx":"image/vnd.net-fpx","flx":"text/vnd.fmi.flexstor","fli":"video/x-fli","ftc":"application/vnd.fluxtime.clip","fdf":"application/vnd.fdf","f":"text/x-fortran","mif":"application/vnd.mif","fm":"application/vnd.framemaker","fh":"image/x-freehand","fsc":"application/vnd.fsc.weblaunch","fnc":"application/vnd.frogans.fnc","ltf":"application/vnd.frogans.ltf","ddd":"application/vnd.fujixerox.ddd","xdw":"application/vnd.fujixerox.docuworks","xbd":"application/vnd.fujixerox.docuworks.binder","oas":"application/vnd.fujitsu.oasys","oa2":"application/vnd.fujitsu.oasys2","oa3":"application/vnd.fujitsu.oasys3","fg5":"application/vnd.fujitsu.oasysgp","bh2":"application/vnd.fujitsu.oasysprs","spl":"application/x-futuresplash","fzs":"application/vnd.fuzzysheet","g3":"image/g3fax","gmx":"application/vnd.gmx","gtw":"model/vnd.gtw","txd":"application/vnd.genomatix.tuxedo","ggb":"application/vnd.geogebra.file","ggt":"application/vnd.geogebra.tool","gdl":"model/vnd.gdl","gex":"application/vnd.geometry-explorer","gxt":"application/vnd.geonext","g2w":"application/vnd.geoplan","g3w":"application/vnd.geospace","gsf":"application/x-font-ghostscript","bdf":"application/x-font-bdf","gtar":"application/x-gtar","texinfo":"application/x-texinfo","gnumeric":"application/x-gnumeric","kml":"application/vnd.google-earth.kml+xml","kmz":"application/vnd.google-earth.kmz","gqf":"application/vnd.grafeq","gif":"image/gif","gv":"text/vnd.graphviz","gac":"application/vnd.groove-account","ghf":"application/vnd.groove-help","gim":"application/vnd.groove-identity-message","grv":"application/vnd.groove-injector","gtm":"application/vnd.groove-tool-message","tpl":"application/vnd.groove-tool-template","vcg":"application/vnd.groove-vcard","h261":"video/h261","h263":"video/h263","h264":"video/h264","hpid":"application/vnd.hp-hpid","hps":"application/vnd.hp-hps","hdf":"application/x-hdf","rip":"audio/vnd.rip","hbci":"application/vnd.hbci","jlt":"application/vnd.hp-jlyt","pcl":"application/vnd.hp-pcl","hpgl":"application/vnd.hp-hpgl","hvs":"application/vnd.yamaha.hv-script","hvd":"application/vnd.yamaha.hv-dic","hvp":"application/vnd.yamaha.hv-voice","sfd-hdstx":"application/vnd.hydrostatix.sof-data","stk":"application/hyperstudio","hal":"application/vnd.hal+xml","html":"text/html","irm":"application/vnd.ibm.rights-management","sc":"application/vnd.ibm.secure-container","ics":"text/calendar","icc":"application/vnd.iccprofile","ico":"image/x-icon","igl":"application/vnd.igloader","ief":"image/ief","ivp":"application/vnd.immervision-ivp","ivu":"application/vnd.immervision-ivu","rif":"application/reginfo+xml","3dml":"text/vnd.in3d.3dml","spot":"text/vnd.in3d.spot","igs":"model/iges","i2g":"application/vnd.intergeo","cdy":"application/vnd.cinderella","xpw":"application/vnd.intercon.formnet","fcs":"application/vnd.isac.fcs","ipfix":"application/ipfix","cer":"application/pkix-cert","pki":"application/pkixcmp","crl":"application/pkix-crl","pkipath":"application/pkix-pkipath","igm":"application/vnd.insors.igm","rcprofile":"application/vnd.ipunplugged.rcprofile","irp":"application/vnd.irepository.package+xml","jad":"text/vnd.sun.j2me.app-descriptor","jar":"application/java-archive","class":"application/java-vm","jnlp":"application/x-java-jnlp-file","ser":"application/java-serialized-object","java":"text/x-java-source,java","js":"application/javascript","json":"application/json","joda":"application/vnd.joost.joda-archive","jpm":"video/jpm","jpeg, .jpg":"image/x-citrix-jpeg","pjpeg":"image/pjpeg","jpgv":"video/jpeg","ktz":"application/vnd.kahootz","mmd":"application/vnd.chipnuts.karaoke-mmd","karbon":"application/vnd.kde.karbon","chrt":"application/vnd.kde.kchart","kfo":"application/vnd.kde.kformula","flw":"application/vnd.kde.kivio","kon":"application/vnd.kde.kontour","kpr":"application/vnd.kde.kpresenter","ksp":"application/vnd.kde.kspread","kwd":"application/vnd.kde.kword","htke":"application/vnd.kenameaapp","kia":"application/vnd.kidspiration","kne":"application/vnd.kinar","sse":"application/vnd.kodak-descriptor","lasxml":"application/vnd.las.las+xml","latex":"application/x-latex","lbd":"application/vnd.llamagraphics.life-balance.desktop","lbe":"application/vnd.llamagraphics.life-balance.exchange+xml","jam":"application/vnd.jam","123":"application/vnd.lotus-1-2-3","apr":"application/vnd.lotus-approach","pre":"application/vnd.lotus-freelance","nsf":"application/vnd.lotus-notes","org":"application/vnd.lotus-organizer","scm":"application/vnd.lotus-screencam","lwp":"application/vnd.lotus-wordpro","lvp":"audio/vnd.lucent.voice","m3u":"audio/x-mpegurl","m4v":"video/x-m4v","hqx":"application/mac-binhex40","portpkg":"application/vnd.macports.portpkg","mgp":"application/vnd.osgeo.mapguide.package","mrc":"application/marc","mrcx":"application/marcxml+xml","mxf":"application/mxf","nbp":"application/vnd.wolfram.player","ma":"application/mathematica","mathml":"application/mathml+xml","mbox":"application/mbox","mc1":"application/vnd.medcalcdata","mscml":"application/mediaservercontrol+xml","cdkey":"application/vnd.mediastation.cdkey","mwf":"application/vnd.mfer","mfm":"application/vnd.mfmp","msh":"model/mesh","mads":"application/mads+xml","mets":"application/mets+xml","mods":"application/mods+xml","meta4":"application/metalink4+xml","mcd":"application/vnd.mcd","flo":"application/vnd.micrografx.flo","igx":"application/vnd.micrografx.igx","es3":"application/vnd.eszigno3+xml","mdb":"application/x-msaccess","asf":"video/x-ms-asf","exe":"application/x-msdownload","cil":"application/vnd.ms-artgalry","cab":"application/vnd.ms-cab-compressed","ims":"application/vnd.ms-ims","application":"application/x-ms-application","clp":"application/x-msclip","mdi":"image/vnd.ms-modi","eot":"application/vnd.ms-fontobject","xls":"application/vnd.ms-excel","xlam":"application/vnd.ms-excel.addin.macroenabled.12","xlsb":"application/vnd.ms-excel.sheet.binary.macroenabled.12","xltm":"application/vnd.ms-excel.template.macroenabled.12","xlsm":"application/vnd.ms-excel.sheet.macroenabled.12","chm":"application/vnd.ms-htmlhelp","crd":"application/x-mscardfile","lrm":"application/vnd.ms-lrm","mvb":"application/x-msmediaview","mny":"application/x-msmoney","pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation","sldx":"application/vnd.openxmlformats-officedocument.presentationml.slide","ppsx":"application/vnd.openxmlformats-officedocument.presentationml.slideshow","potx":"application/vnd.openxmlformats-officedocument.presentationml.template","xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","xltx":"application/vnd.openxmlformats-officedocument.spreadsheetml.template","docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document","dotx":"application/vnd.openxmlformats-officedocument.wordprocessingml.template","obd":"application/x-msbinder","thmx":"application/vnd.ms-officetheme","onetoc":"application/onenote","pya":"audio/vnd.ms-playready.media.pya","pyv":"video/vnd.ms-playready.media.pyv","ppt":"application/vnd.ms-powerpoint","ppam":"application/vnd.ms-powerpoint.addin.macroenabled.12","sldm":"application/vnd.ms-powerpoint.slide.macroenabled.12","pptm":"application/vnd.ms-powerpoint.presentation.macroenabled.12","ppsm":"application/vnd.ms-powerpoint.slideshow.macroenabled.12","potm":"application/vnd.ms-powerpoint.template.macroenabled.12","mpp":"application/vnd.ms-project","pub":"application/x-mspublisher","scd":"application/x-msschedule","xap":"application/x-silverlight-app","stl":"application/vnd.ms-pki.stl","cat":"application/vnd.ms-pki.seccat","vsd":"application/vnd.visio","vsdx":"application/vnd.visio2013","wm":"video/x-ms-wm","wma":"audio/x-ms-wma","wax":"audio/x-ms-wax","wmx":"video/x-ms-wmx","wmd":"application/x-ms-wmd","wpl":"application/vnd.ms-wpl","wmz":"application/x-ms-wmz","wmv":"video/x-ms-wmv","wvx":"video/x-ms-wvx","wmf":"application/x-msmetafile","trm":"application/x-msterminal","doc":"application/msword","docm":"application/vnd.ms-word.document.macroenabled.12","dotm":"application/vnd.ms-word.template.macroenabled.12","wri":"application/x-mswrite","wps":"application/vnd.ms-works","xbap":"application/x-ms-xbap","xps":"application/vnd.ms-xpsdocument","mid":"audio/midi","mpy":"application/vnd.ibm.minipay","afp":"application/vnd.ibm.modcap","rms":"application/vnd.jcp.javame.midlet-rms","tmo":"application/vnd.tmobile-livetv","prc":"application/x-mobipocket-ebook","mbk":"application/vnd.mobius.mbk","dis":"application/vnd.mobius.dis","plc":"application/vnd.mobius.plc","mqy":"application/vnd.mobius.mqy","msl":"application/vnd.mobius.msl","txf":"application/vnd.mobius.txf","daf":"application/vnd.mobius.daf","fly":"text/vnd.fly","mpc":"application/vnd.mophun.certificate","mpn":"application/vnd.mophun.application","mj2":"video/mj2","mpga":"audio/mpeg","mxu":"video/vnd.mpegurl","mpeg":"video/mpeg","m21":"application/mp21","mp4a":"audio/mp4","mp4":"application/mp4","m3u8":"application/vnd.apple.mpegurl","mus":"application/vnd.musician","msty":"application/vnd.muvee.style","mxml":"application/xv+xml","ngdat":"application/vnd.nokia.n-gage.data","n-gage":"application/vnd.nokia.n-gage.symbian.install","ncx":"application/x-dtbncx+xml","nc":"application/x-netcdf","nlu":"application/vnd.neurolanguage.nlu","dna":"application/vnd.dna","nnd":"application/vnd.noblenet-directory","nns":"application/vnd.noblenet-sealer","nnw":"application/vnd.noblenet-web","rpst":"application/vnd.nokia.radio-preset","rpss":"application/vnd.nokia.radio-presets","n3":"text/n3","edm":"application/vnd.novadigm.edm","edx":"application/vnd.novadigm.edx","ext":"application/vnd.novadigm.ext","gph":"application/vnd.flographit","ecelp4800":"audio/vnd.nuera.ecelp4800","ecelp7470":"audio/vnd.nuera.ecelp7470","ecelp9600":"audio/vnd.nuera.ecelp9600","oda":"application/oda","ogx":"application/ogg","oga":"audio/ogg","ogv":"video/ogg","dd2":"application/vnd.oma.dd2+xml","oth":"application/vnd.oasis.opendocument.text-web","opf":"application/oebps-package+xml","qbo":"application/vnd.intu.qbo","oxt":"application/vnd.openofficeorg.extension","osf":"application/vnd.yamaha.openscoreformat","weba":"audio/webm","webm":"video/webm","odc":"application/vnd.oasis.opendocument.chart","otc":"application/vnd.oasis.opendocument.chart-template","odb":"application/vnd.oasis.opendocument.database","odf":"application/vnd.oasis.opendocument.formula","odft":"application/vnd.oasis.opendocument.formula-template","odg":"application/vnd.oasis.opendocument.graphics","otg":"application/vnd.oasis.opendocument.graphics-template","odi":"application/vnd.oasis.opendocument.image","oti":"application/vnd.oasis.opendocument.image-template","odp":"application/vnd.oasis.opendocument.presentation","otp":"application/vnd.oasis.opendocument.presentation-template","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","ktx":"image/ktx","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","otf":"application/x-font-otf","osfpvg":"application/vnd.yamaha.openscoreformat.osfpvg+xml","dp":"application/vnd.osgi.dp","pdb":"application/vnd.palm","p":"text/x-pascal","paw":"application/vnd.pawaafile","pclxl":"application/vnd.hp-pclxl","efif":"application/vnd.picsel","pcx":"image/x-pcx","psd":"image/vnd.adobe.photoshop","prf":"application/pics-rules","pic":"image/x-pict","chat":"application/x-chat","p10":"application/pkcs10","p12":"application/x-pkcs12","p7m":"application/pkcs7-mime","p7s":"application/pkcs7-signature","p7r":"application/x-pkcs7-certreqresp","p7b":"application/x-pkcs7-certificates","p8":"application/pkcs8","plf":"application/vnd.pocketlearn","pnm":"image/x-portable-anymap","pbm":"image/x-portable-bitmap","pcf":"application/x-font-pcf","pfr":"application/font-tdpfr","pgn":"application/x-chess-pgn","pgm":"image/x-portable-graymap","png":"image/x-png","ppm":"image/x-portable-pixmap","pskcxml":"application/pskc+xml","pml":"application/vnd.ctc-posml","ai":"application/postscript","pfa":"application/x-font-type1","pbd":"application/vnd.powerbuilder6","pgp":"application/pgp-signature","box":"application/vnd.previewsystems.box","ptid":"application/vnd.pvi.ptid1","pls":"application/pls+xml","str":"application/vnd.pg.format","ei6":"application/vnd.pg.osasli","dsc":"text/prs.lines.tag","psf":"application/x-font-linux-psf","qps":"application/vnd.publishare-delta-tree","wg":"application/vnd.pmi.widget","qxd":"application/vnd.quark.quarkxpress","esf":"application/vnd.epson.esf","msf":"application/vnd.epson.msf","ssf":"application/vnd.epson.ssf","qam":"application/vnd.epson.quickanime","qfx":"application/vnd.intu.qfx","qt":"video/quicktime","rar":"application/x-rar-compressed","ram":"audio/x-pn-realaudio","rmp":"audio/x-pn-realaudio-plugin","rsd":"application/rsd+xml","rm":"application/vnd.rn-realmedia","bed":"application/vnd.realvnc.bed","mxl":"application/vnd.recordare.musicxml","musicxml":"application/vnd.recordare.musicxml+xml","rnc":"application/relax-ng-compact-syntax","rdz":"application/vnd.data-vision.rdz","rdf":"application/rdf+xml","rp9":"application/vnd.cloanto.rp9","jisp":"application/vnd.jisp","rtf":"application/rtf","rtx":"text/richtext","link66":"application/vnd.route66.link66+xml","rss, .xml":"application/rss+xml","shf":"application/shf+xml","st":"application/vnd.sailingtracker.track","svg":"image/svg+xml","sus":"application/vnd.sus-calendar","sru":"application/sru+xml","setpay":"application/set-payment-initiation","setreg":"application/set-registration-initiation","sema":"application/vnd.sema","semd":"application/vnd.semd","semf":"application/vnd.semf","see":"application/vnd.seemail","snf":"application/x-font-snf","spq":"application/scvp-vp-request","spp":"application/scvp-vp-response","scq":"application/scvp-cv-request","scs":"application/scvp-cv-response","sdp":"application/sdp","etx":"text/x-setext","movie":"video/x-sgi-movie","ifm":"application/vnd.shana.informed.formdata","itp":"application/vnd.shana.informed.formtemplate","iif":"application/vnd.shana.informed.interchange","ipk":"application/vnd.shana.informed.package","tfi":"application/thraud+xml","shar":"application/x-shar","rgb":"image/x-rgb","slt":"application/vnd.epson.salt","aso":"application/vnd.accpac.simply.aso","imp":"application/vnd.accpac.simply.imp","twd":"application/vnd.simtech-mindmapper","csp":"application/vnd.commonspace","saf":"application/vnd.yamaha.smaf-audio","mmf":"application/vnd.smaf","spf":"application/vnd.yamaha.smaf-phrase","teacher":"application/vnd.smart.teacher","svd":"application/vnd.svd","rq":"application/sparql-query","srx":"application/sparql-results+xml","gram":"application/srgs","grxml":"application/srgs+xml","ssml":"application/ssml+xml","skp":"application/vnd.koan","sgml":"text/sgml","sdc":"application/vnd.stardivision.calc","sda":"application/vnd.stardivision.draw","sdd":"application/vnd.stardivision.impress","smf":"application/vnd.stardivision.math","sdw":"application/vnd.stardivision.writer","sgl":"application/vnd.stardivision.writer-global","sm":"application/vnd.stepmania.stepchart","sit":"application/x-stuffit","sitx":"application/x-stuffitx","sdkm":"application/vnd.solent.sdkm+xml","xo":"application/vnd.olpc-sugar","au":"audio/basic","wqd":"application/vnd.wqd","sis":"application/vnd.symbian.install","smi":"application/smil+xml","xsm":"application/vnd.syncml+xml","bdm":"application/vnd.syncml.dm+wbxml","xdm":"application/vnd.syncml.dm+xml","sv4cpio":"application/x-sv4cpio","sv4crc":"application/x-sv4crc","sbml":"application/sbml+xml","tsv":"text/tab-separated-values","tiff":"image/tiff","tao":"application/vnd.tao.intent-module-archive","tar":"application/x-tar","tcl":"application/x-tcl","tex":"application/x-tex","tfm":"application/x-tex-tfm","tei":"application/tei+xml","txt":"text/plain","dxp":"application/vnd.spotfire.dxp","sfs":"application/vnd.spotfire.sfs","tsd":"application/timestamped-data","tpt":"application/vnd.trid.tpt","mxs":"application/vnd.triscape.mxs","t":"text/troff","tra":"application/vnd.trueapp","ttf":"application/x-font-ttf","ttl":"text/turtle","umj":"application/vnd.umajin","uoml":"application/vnd.uoml+xml","unityweb":"application/vnd.unity","ufd":"application/vnd.ufdl","uri":"text/uri-list","utz":"application/vnd.uiq.theme","ustar":"application/x-ustar","uu":"text/x-uuencode","vcs":"text/x-vcalendar","vcf":"text/x-vcard","vcd":"application/x-cdlink","vsf":"application/vnd.vsf","wrl":"model/vrml","vcx":"application/vnd.vcx","mts":"model/vnd.mts","vtu":"model/vnd.vtu","vis":"application/vnd.visionary","viv":"video/vnd.vivo","ccxml":"application/ccxml+xml,","vxml":"application/voicexml+xml","src":"application/x-wais-source","wbxml":"application/vnd.wap.wbxml","wbmp":"image/vnd.wap.wbmp","wav":"audio/x-wav","davmount":"application/davmount+xml","woff":"application/x-font-woff","wspolicy":"application/wspolicy+xml","webp":"image/webp","wtb":"application/vnd.webturbo","wgt":"application/widget","hlp":"application/winhlp","wml":"text/vnd.wap.wml","wmls":"text/vnd.wap.wmlscript","wmlsc":"application/vnd.wap.wmlscriptc","wpd":"application/vnd.wordperfect","stf":"application/vnd.wt.stf","wsdl":"application/wsdl+xml","xbm":"image/x-xbitmap","xpm":"image/x-xpixmap","xwd":"image/x-xwindowdump","der":"application/x-x509-ca-cert","fig":"application/x-xfig","xhtml":"application/xhtml+xml","xml":"application/xml","xdf":"application/xcap-diff+xml","xenc":"application/xenc+xml","xer":"application/patch-ops-error+xml","rl":"application/resource-lists+xml","rs":"application/rls-services+xml","rld":"application/resource-lists-diff+xml","xslt":"application/xslt+xml","xop":"application/xop+xml","xpi":"application/x-xpinstall","xspf":"application/xspf+xml","xul":"application/vnd.mozilla.xul+xml","xyz":"chemical/x-xyz","yaml":"text/yaml","yang":"application/yang","yin":"application/yin+xml","zir":"application/vnd.zul","zip":"application/zip","zmm":"application/vnd.handheld-entertainment+xml","zaz":"application/vnd.zzazz.deck+xml"} |
本文将探讨各种编程语言中获取MIME类型的各种方法,其中CONS在单行描述中作为标题。所以,相应地使用它们和适合你的那个。
例如。当用户提供.xls,.xlsx或.xlsm中的任何一个并且您不想编写代码测试扩展并为每个扩展提供MIME类型时,下面的代码特别有用。让系统完成这项工作。
Python 3
使用python-magic
1 2 3 4 | >>> pip install python-magic >>> import magic >>> magic.from_file("Employee.pdf", mime=True) 'application/pdf' |
使用内置的mimeypes模块 - 将文件名映射到MimeTypes模块
1 2 3 4 5 6 7 8 9 10 | >>> import mimetypes >>> mimetypes.init() >>> mimetypes.knownfiles ['/etc/mime.types', '/etc/httpd/mime.types', ... ] >>> mimetypes.suffix_map['.tgz'] '.tar.gz' >>> mimetypes.encodings_map['.gz'] 'gzip' >>> mimetypes.types_map['.tgz'] 'application/x-tar-gz' |
JAVA 7
来源:Baeldung关于Java中文件MIME类型的博客
取决于操作系统
1 2 3 4 5 6 7 | @Test public void get_JAVA7_mimetype() { Path path = new File("Employee.xlsx").toPath(); String mimeType = Files.probeContentType(path); assertEquals(mimeType,"application/vnd.ms-excel"); } |
它将使用FileTypeDetector实现来探测MIME类型,并调用每个实现的probeContentType来解析该类型。因此,如果文件对于实现是已知的,则返回内容类型。但是,如果不发生这种情况,则会调用系统默认文件类型检测器。
使用输入流的前几个字符解析
1 2 3 4 5 6 7 | @Test public void getMIMEType_from_Extension(){ File file = new File("Employee.xlsx"); String mimeType = URLConnection.guessContentTypeFromName(file.getName()); assertEquals(mimeType,"application/vnd.ms-excel"); } |
使用MIME类型的内置表
1 2 3 4 5 6 7 8 | @Test public void getMIMEType_UsingGetFileNameMap(){ File file = new File("Employee.xlsx"); FileNameMap fileNameMap = URLConnection.getFileNameMap(); String mimeType = fileNameMap.getContentTypeFor(file.getName()); assertEquals(mimeType,"image/png"); } |
它返回URLConnection的所有实例使用的MIME类型矩阵,然后用于解析输入文件类型。但是,当涉及到URLConnection时,这种MIME类型矩阵非常有限。
默认情况下,该类使用JRE_HOME / lib中的content-types.properties文件。但是,我们可以通过使用content.types.user.table属性指定特定于用户的表来扩展它:
1 | System.setProperty("content.types.user.table","<path-to-file>"); |
JavaScript的
来源:FileReader API&Medium关于在JavaScript中使用Magic Numbers获取Mime类型的文章
解释使用FileReader API获取的Magic Number
当使用javaScript基于文件流获取MimeType时,最终结果看起来像这样。打开嵌入式jsFiddle以查看和理解这种方法。
奖励:它可以访问大多数MIME类型,也可以在getMimetype函数中添加自定义Mime类型。此外,它完全支持MS Office文件Mime类型。
在此示例中,为文件计算mime类型的步骤如下:
切片法。
创建一个TypedArray,在本例中是一个Uint8Array。
十六进制(通过使用toString(16))。
浏览器支持(总体上超过95%,在所有现代浏览器中接近100%):
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 | const uploads = [] const fileSelector = document.getElementById('file-selector') fileSelector.addEventListener('change', (event) => { console.time('FileOpen') const file = event.target.files[0] const filereader = new FileReader() filereader.onloadend = function(evt) { if (evt.target.readyState === FileReader.DONE) { const uint = new Uint8Array(evt.target.result) let bytes = [] uint.forEach((byte) => { bytes.push(byte.toString(16)) }) const hex = bytes.join('').toUpperCase() uploads.push({ filename: file.name, filetype: file.type ? file.type : 'Unknown/Extension missing', binaryFileType: getMimetype(hex), hex: hex }) render() } console.timeEnd('FileOpen') } const blob = file.slice(0, 4); filereader.readAsArrayBuffer(blob); }) const render = () => { const container = document.getElementById('files') const uploadedFiles = uploads.map((file) => { return `<hr /> <span class=filename>Filename: ${file.filename}</span> <span class=fileObject>File Object (Mime Type): ${file.filetype}</span> <span class=binaryObject>Binary (Mime Type): ${file.binaryFileType}</span> <span class=HexCode>Hex Code (Magic Number): ${file.hex}</span> ` }) container.innerHTML = uploadedFiles.join('') } const getMimetype = (signature) => { switch (signature) { case '89504E47': return 'image/png' case '47494638': return 'image/gif' case '25504446': return 'application/pdf' case 'FFD8FFDB': case 'FFD8FFE0': case 'FFD8FFE1': return 'image/jpeg' case '504B0304': return 'application/zip' case '504B34': return 'application/vnd.ms-excel.sheet.macroEnabled.12' default: return 'Unknown filetype' } } |
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 | .result { font-family: Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua", Georgia, serif; line-height: 20px; font-size: 14px; margin: 10px 0; } .filename { color: #333; font-size: 16px; } .fileObject { color: #a53; } .binaryObject { color: #63f; } .HexCode { color: #262; } em { padding: 2px 4px; background-color: #efefef; font-style: normal; } input[type=file] { background-color: #4CAF50; border: none; color: white; padding: 8px 16px; text-decoration: none; margin: 4px 2px; cursor: pointer; } |
1 2 3 | <body> <input type="file" id="file-selector"> |
Swift4
1 2 3 4 5 6 7 8 9 10 11 | func mimeTypeForPath(path: String) -> String { let url = NSURL(fileURLWithPath: path) let pathExtension = url.pathExtension if let uti = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension! as NSString, nil)?.takeRetainedValue() { if let mimetype = UTTypeCopyPreferredTagWithClass(uti, kUTTagClassMIMEType)?.takeRetainedValue() { return mimetype as String } } return"application/octet-stream" } |
加载.docx文件
1 2 3 4 5 6 7 8 9 | if let htmlFile = Bundle.main.path(forResource:"fileName", ofType:"docx") { let url = URL(fileURLWithPath: htmlFile) do{ let data = try Data(contentsOf: url) self.webView.load(data, mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document", textEncodingName:"UTF-8", baseURL: url) }catch{ print("errrr") } } |
如果有人想在C#switch语句中得到Dirk Vollmar的答案:
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 | case"doc": return"application/msword"; case"dot": return"application/msword"; case"docx": return"application/vnd.openxmlformats-officedocument.wordprocessingml.document"; case"dotx": return"application/vnd.openxmlformats-officedocument.wordprocessingml.template"; case"docm": return"application/vnd.ms-word.document.macroEnabled.12"; case"dotm": return"application/vnd.ms-word.template.macroEnabled.12"; case"xls": return"application/vnd.ms-excel"; case"xlt": return"application/vnd.ms-excel"; case"xla": return"application/vnd.ms-excel"; case"xlsx": return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; case"xltx": return"application/vnd.openxmlformats-officedocument.spreadsheetml.template"; case"xlsm": return"application/vnd.ms-excel.sheet.macroEnabled.12"; case"xltm": return"application/vnd.ms-excel.template.macroEnabled.12"; case"xlam": return"application/vnd.ms-excel.addin.macroEnabled.12"; case"xlsb": return"application/vnd.ms-excel.sheet.binary.macroEnabled.12"; case"ppt": return"application/vnd.ms-powerpoint"; case"pot": return"application/vnd.ms-powerpoint"; case"pps": return"application/vnd.ms-powerpoint"; case"ppa": return"application/vnd.ms-powerpoint"; case"pptx": return"application/vnd.openxmlformats-officedocument.presentationml.presentation"; case"potx": return"application/vnd.openxmlformats-officedocument.presentationml.template"; case"ppsx": return"application/vnd.openxmlformats-officedocument.presentationml.slideshow"; case"ppam": return"application/vnd.ms-powerpoint.addin.macroEnabled.12"; case"pptm": return"application/vnd.ms-powerpoint.presentation.macroEnabled.12"; case"potm": return"application/vnd.ms-powerpoint.template.macroEnabled.12"; case"ppsm": return"application/vnd.ms-powerpoint.slideshow.macroEnabled.12"; case"mdb": return"application/vnd.ms-access"; |