zoukankan      html  css  js  c++  java
  • 在IE中下载Office2007文件时在对话框中下载文件变成ZIP文件的问题

      导致原因: 从IIS或者Tomcat之类的Web服务器通过二进制流下载文件时(比如通过设置Header为Content-disposition:inline),如果被下载的文件是Office2007的dotx,docx,pot等后缀的时候,下载对话框中的图标会变成ZIP的,相应的文件名也会成为zip为扩展后缀的文件。其实出现这样的情况,是由于IE中对下载文件类型的判断,假如找不到相应后缀的MIME的话,会自动根据数据流来判断文件的类型,而微软对Office2007的格式做了和以前完全不同的处理。 以前的Office文档是100%的二进制格式。第三方的工具操作起来非常不方便,而 Office2007从整体上都是基于XML格式的,这里并不是说Office2007文档可以保存成XML格式。而是Office2007默认的文档格式就是XML的(Word的docx、Excel的xlsx等)。也许有人会感到奇怪,用文本编辑器打开docx后,显示的仍然是二进制格式,并不是什么 XML。其实docx并不是普通的XML格式,当然,也不只是一个XML文件,docx本质上是一个zip文件,里面有一系列的xml、目录和其他的文件。如果我们将docx改成zip。就可以用winzip等软件将其解开。

      解决方案: 在Server端添加MIME映射就可以了。如Tomcat , 修改/%tomcat_home%/conf/web.xml Xml代码:

    <mime-mapping>
      <extension>docx</extension>
      <mime-type>application/vnd.openxmlformats-officedocument.wordprocessingml.document</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>xlsx</extension>
      <mime-type>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</mime-type>
    </mime-mapping>
    <mime-mapping>
      <extension>pptx</extension>
      <mime-type>application/vnd.openxmlformats-officedocument.presentationml.presentation</mime-type>
    </mime-mapping>
    

      下面收集了大部分文件的扩展名和相应的MIME对应,有需要的可以在列表中找到并添加。

    .asx,video/x-ms-asf 
    .xml,text/xml 
    .tsv,text/tab-separated-values 
    .ra,audio/x-pn-realaudio 
    .sv4crc,application/x-sv4crc 
    .spc,application/x-pkcs7-certificates 
    .pmc,application/x-perfmon 
    .lit,application/x-ms-reader 
    .crd,application/x-mscardfile 
    .isp,application/x-internet-signup 
    .wmlsc,application/vnd.wap.wmlscriptc 
    .vst,application/vnd.visio 
    .xlam,application/vnd.ms-excel.addin.macroEnabled.12 
    .ttf,application/octet-stream 
    .pfm,application/octet-stream 
    .csv,application/octet-stream 
    .aaf,application/octet-stream 
    .one,application/onenote 
    .hta,application/hta 
    .atom,application/atom+xml 
    .323,text/h323 
    .mhtml,message/rfc822 
    .midi,audio/mid 
    .p7r,application/x-pkcs7-certreqresp 
    .mny,application/x-msmoney 
    .clp,application/x-msclip 
    .vsd,application/vnd.visio 
    .lpk,application/octet-stream 
    .bin,application/octet-stream 
    .onetoc,application/onenote 
    .x,application/directx 
    .wvx,video/x-ms-wvx 
    .vcf,text/x-vcard 
    .htc,text/x-component 
    .htt,text/webviewhtml 
    .h,text/plain 
    .mht,message/rfc822 
    .mid,audio/mid 
    .p7b,application/x-pkcs7-certificates 
    .gz,application/x-gzip 
    .dvi,application/x-dvi 
    .cpio,application/x-cpio 
    .vdx,application/vnd.ms-visio.viewer 
    .sldm,application/vnd.ms-powerpoint.slide.macroEnabled.12 
    .xlm,application/vnd.ms-excel 
    .fdf,application/vnd.fdf 
    .setreg,application/set-registration-initiation 
    .eps,application/postscript 
    .p7s,application/pkcs7-signature 
    .toc,application/octet-stream 
    .mdp,application/octet-stream 
    .ics,application/octet-stream 
    .chm,application/octet-stream 
    .asi,application/octet-stream 
    .afm,application/octet-stream 
    .evy,application/envoy 
    .wmp,video/x-ms-wmp 
    .qt,video/quicktime 
    .mpv2,video/mpeg 
    .xslt,text/xml 
    .etx,text/x-setext 
    .cod,image/cis-cod 
    .snd,audio/basic 
    .au,audio/basic 
    .man,application/x-troff-man 
    .qtl,application/x-quicktimeplayer 
    .pmw,application/x-perfmon 
    .class,application/x-java-applet 
    .iii,application/x-iphone 
    .csh,application/x-csh 
    .z,application/x-compress 
    .vtx,application/vnd.visio 
    .vsw,application/vnd.visio 
    .wps,application/vnd.ms-works 
    .potx,application/vnd.openxmlformats-officedocument.presentationml.template 
    .ps,application/postscript 
    .p7c,application/pkcs7-mime 
    .thn,application/octet-stream 
    .mso,application/octet-stream 
    .dot,application/msword 
    .doc,application/msword 
    .sgml,text/sgml 
    .nws,message/rfc822 
    .pbm,image/x-portable-bitmap 
    .ief,image/ief 
    .wav,audio/wav 
    .texi,application/x-texinfo 
    .mvb,application/x-msmediaview 
    .hdf,application/x-hdf 
    .vsx,application/vnd.visio 
    .dotm,application/vnd.ms-word.template.macroEnabled.12 
    .docm,application/vnd.ms-word.document.macroEnabled.12 
    .pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation 
    .psm,application/octet-stream 
    .java,application/octet-stream 
    .eot,application/octet-stream 
    .jar,application/java-archive 
    .mpeg,video/mpeg 
    .xsf,text/xml 
    .map,text/plain 
    .uls,text/iuls 
    .rf,image/vnd.rn-realflash 
    .m3u,audio/x-mpegurl 
    .wma,audio/x-ms-wma 
    .aifc,audio/aiff 
    .mdb,application/x-msaccess 
    .mvc,application/x-miva-compiled 
    .stl,application/vnd.ms-pki.stl 
    .ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow 
    .xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12 
    .setpay,application/set-payment-initiation 
    .prm,application/octet-stream 
    .mix,application/octet-stream 
    .lzh,application/octet-stream 
    .hhk,application/octet-stream 
    .onepkg,application/onenote 
    .xaf,x-world/x-vrml 
    .flr,x-world/x-vrml 
    .IVF,video/x-ivf 
    .cnf,text/plain 
    .asm,text/plain 
    .tiff,image/tiff 
    .wax,audio/x-ms-wax 
    .ms,application/x-troff-ms 
    .tcl,application/x-tcl 
    .shar,application/x-shar 
    .sh,application/x-sh 
    .nc,application/x-netcdf 
    .hlp,application/winhlp 
    .oda,application/oda 
    .pfb,application/octet-stream 
    .fla,application/octet-stream 
    .wm,video/x-ms-wm 
    .rgb,image/x-rgb 
    .ppm,image/x-portable-pixmap 
    .ram,audio/x-pn-realaudio 
    .sit,application/x-stuffit 
    .dir,application/x-director 
    .mpp,application/vnd.ms-project 
    .xla,application/vnd.ms-excel 
    .ssm,application/streamingmedia 
    .axs,application/olescript 
    .ods,application/oleobject 
    .psp,application/octet-stream 
    .jpb,application/octet-stream 
    .wrz,x-world/x-vrml 
    .m1v,video/mpeg 
    .mno,text/xml 
    .cmx,image/x-cmx 
    .jpeg,image/jpeg 
    .dib,image/bmp 
    .rmi,audio/mid 
    .aiff,audio/aiff 
    .wmd,application/x-ms-wmd 
    .wri,application/x-mswrite 
    .pub,application/x-mspublisher 
    .ins,application/x-internet-signup 
    .wks,application/vnd.ms-works 
    .xls,application/vnd.ms-excel 
    .ai,application/postscript 
    .crl,application/pkix-crl 
    .qxd,application/octet-stream 
    .dwp,application/octet-stream 
    .xof,x-world/x-vrml 
    .wmv,video/x-ms-wmv 
    .nsc,video/x-ms-asf 
    .mpa,video/mpeg 
    .pnm,image/x-portable-anymap 
    .rpm,audio/x-pn-realaudio-plugin 
    .aif,audio/x-aiff 
    .me,application/x-troff-me 
    .pml,application/x-perfmon 
    .trm,application/x-msterminal 
    .m13,application/x-msmediaview 
    .js,application/x-javascript 
    .dxr,application/x-director 
    .potm,application/vnd.ms-powerpoint.template.macroEnabled.12 
    .xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template 
    .xlt,application/vnd.ms-excel 
    .xlc,application/vnd.ms-excel 
    .p10,application/pkcs10 
    .smi,application/octet-stream 
    .sea,application/octet-stream 
    .hqx,application/mac-binhex40 
    .spl,application/futuresplash 
    .movie,video/x-sgi-movie 
    .lsf,video/x-la-asf 
    .txt,text/plain 
    .jfif,image/pjpeg 
    .jpe,image/jpeg 
    .zip,application/x-zip-compressed 
    .wmf,application/x-msmetafile 
    .m14,application/x-msmediaview 
    .latex,application/x-latex 
    .wcm,application/vnd.ms-works 
    .pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12 
    .xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 
    .hhp,application/octet-stream 
    .aca,application/octet-stream 
    .accdb,application/msaccess 
    .jcz,application/liquidmotion 
    .wrl,x-world/x-vrml 
    .wmx,video/x-ms-wmx 
    .asr,video/x-ms-asf 
    .lsx,video/x-la-asf 
    .xsl,text/xml 
    .html,text/html 
    .tif,image/tiff 
    .der,application/x-x509-ca-cert 
    .pfx,application/x-pkcs12 
    .p12,application/x-pkcs12 
    .ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12 
    .cur,application/octet-stream 
    .accdt,application/msaccess 
    .hdml,text/x-hdml 
    .htm,text/html 
    .xbm,image/x-xbitmap 
    .jpg,image/jpeg 
    .texinfo,application/x-texinfo 
    .ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12 
    .xlw,application/vnd.ms-excel 
    .rm,application/vnd.rn-realmedia 
    .pdf,application/pdf 
    .rar,application/octet-stream 
    .psd,application/octet-stream 
    .inf,application/octet-stream 
    .emz,application/octet-stream 
    .dsp,application/octet-stream 
    .onea,application/onenote 
    .jck,application/liquidmotion 
    .mpe,video/mpeg 
    .mp2,video/mpeg 
    .sct,text/scriptlet 
    .ras,image/x-cmu-raster 
    .swf,application/x-shockwave-flash 
    .wmz,application/x-ms-wmz 
    .gtar,application/x-gtar 
    .dcr,application/x-director 
    .sldx,application/vnd.openxmlformats-officedocument.presentationml.slide 
    .pps,application/vnd.ms-pps 
    .p7m,application/pkcs7-mime 
    .xsn,application/octet-stream 
    .ocx,application/octet-stream 
    .accde,application/msaccess 
    .mov,video/quicktime 
    .wmls,text/vnd.wap.wmlscript 
    .cpp,text/plain 
    .c,text/plain 
    .bas,text/plain 
    .css,text/css 
    .art,image/x-jg 
    .mp3,audio/mpeg 
    .t,application/x-troff 
    .roff,application/x-troff 
    .tar,application/x-tar 
    .hhc,application/x-oleobject 
    .scd,application/x-msschedule 
    .pko,application/vnd.ms-pki.pko 
    .sst,application/vnd.ms-pki.certstore 
    .ppt,application/vnd.ms-powerpoint 
    .xtp,application/octet-stream 
    .u32,application/octet-stream 
    .pcx,application/octet-stream 
    .msi,application/octet-stream 
    .exe,application/octet-stream 
    .asd,application/octet-stream 
    .onetoc2,application/onenote 
    .fif,application/fractals 
    .mpg,video/mpeg 
    .vml,text/xml 
    .xdr,text/plain 
    .vcs,text/plain 
    .hxt,text/html 
    .eml,message/rfc822 
    .xpm,image/x-xpixmap 
    .ico,image/x-icon 
    .gif,image/gif 
    .dwf,drawing/x-dwf
    .src,application/x-wais-source 
    .tr,applicaton/x-troff 
    .pmr,application/x-perfmon 
    .pma,application/x-perfmon 
    .dll,application/x-msdownload 
    .bcpio,application/x-bcpio 
    .wmlc,application/vnd.wap.wmlc 
    .wdb,application/vnd.ms-works 
    .dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template 
    .docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document 
    .pot,application/vnd.ms-powerpoint 
    .xltm,application/vnd.ms-excel.template.macroEnabled.12 
    .rtf,application/rtf 
    .prf,application/pics-rules 
    .snp,application/octet-stream 
    .cab,application/octet-stream 
    .avi,video/x-msvideo 
    .asf,video/x-ms-asf 
    .dtd,text/xml 
    .wml,text/vnd.wap.wml 
    .vbs,text/vbscript 
    .rtx,text/richtext 
    .dlm,text/dlm 
    .xwd,image/x-xwindowdump 
    .pgm,image/x-portable-graymap 
    .bmp,image/bmp 
    .crt,application/x-x509-ca-cert 
    .ustar,application/x-ustar 
    .tex,application/x-tex 
    .sv4cpio,application/x-sv4cpio 
    .tgz,application/x-compressed 
    .cdf,application/x-cdf 
    .vss,application/vnd.visio 
    .cat,application/vnd.ms-pki.seccat 
    .thmx,application/vnd.ms-officetheme 
    .xlsm,application/vnd.ms-excel.sheet.macroEnabled.12 
    .prx,application/octet-stream 
    .pcz,application/octet-stream 
    .onetmp,application/onenote 
    .acx,application/internet-property-stream 
    .wsdl,text/xml 
    .disco,text/xml 
    .xsd,text/xml 
    .wbmp,image/vnd.wap.wbmp 
    .png,image/png 
    .pnz,image/png 
    .smd,audio/x-smd 
    .smz,audio/x-smd 
    .smx,audio/x-smd 
    .mmf,application/x-smaf 
    
  • 相关阅读:
    jquery autocomplete
    hibernate 数据缓存
    Python变量类型
    Python基础语法
    Python环境搭建
    Python简介
    python下载地址
    第十、十一章,软件测试和软件演化
    第九章,软件实现
    第八章,面向对象设计
  • 原文地址:https://www.cnblogs.com/sfeng1825/p/3586533.html
Copyright © 2011-2022 走看看