`
JavaSam
  • 浏览: 952167 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IE下载对话框将Office 2007文件误判为ZIP文件流的解决办法(转载)

 
阅读更多

现象
从IIS或者Tomcat之类的Web服务器下载文件时(比如通过设置Header为Content-disposition:inline),如果被下载的文件是Office 2007文档(如后缀名为xlsx、docx、pptx等)时,下载对话框中的图标会变成ZIP。相应的文件名也会成用ZIP为扩展后缀的文件。
分析
出现这样的情况,是由于IE中对下载文件类型的判断错误造成的。
 
根据IE设计,假如浏览器找不到相应后缀的MIME,它会自动根据数据流来判断文件的类型。
 
在Office2007中,微软对其文档的格式做了和以前完全不同的处理。
 
以前的Office文档是100%的二进制格式,第三方的工具操作起来非常不方便。
 
而Office 2007以后,Office文档整体上都是基于XML格式的。这里并不是说Office 2007文档可以保存成XML格式,而是Office2007默认的文档格式就是XML的(Word的docx、Excel的xlsx等)。也许有人会感到奇怪,用文本编辑器打开docx后,显示的仍然是二进制格式,为什么 XML?其实docx并不是普通的XML文件,docx本质上是一个ZIP文件,里面有一系列的XML、目录和其他的文件。如果我们将docx改成ZIP,就可以用winzip、7zip等软件将其解开。
 
正是由于这样的原因,当MIME中不存在相对应的Office 2007类型的情况下,文件会被IE自动识别为ZIP文件。
解决办法
解决的方法很简单,在Server端添加MIME映射就可以了。
 
以Tomcat为例,可以在web.xml中找到<mime-mapping></mime-mapping>这样的定义,按照规则添加即可。如:
 
<web-app>
...
<mime-mapping>
<extension>.xlsx</extension>
<mime-type>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</mime-type>
</mime-mapping> 
...
</web-app>
 
备注:
 
什么是MIME?
MIME(Multipurpose Internet Mail Extensions,多目的Internet邮件扩展)是创建用于电子邮件交换、网络文档、企业网和Internet上的其他应用程序中的文件格式规范。每个MIME格式包含一个MIME内容类型(”MIME type”)和指示存储在这个文件中的数据的子类型。MIME类型和子类型一般以类型/子类型的形式列出。MIME格式的内容广泛用于网络文档中。
附录
下表收集了大部分文件的扩展名和相应的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,application/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
 
1
1
分享到:
评论

相关推荐

    电脑办公文件打不开 提示内容出错的解决办法.docx

    本文将详细介绍如何解决这一问题,以PPT文件为例进行说明。 首先,当我们尝试打开一个下载的PPT文件时,可能会看到如下的错误提示:“文件内容出错”。这可能是由于多种原因导致的,例如文件损坏、不兼容的软件版本...

    gradle-8.0-bin.zip下载有时超时

    有时候,这些软件可能会误判某些下载为潜在威胁,从而限制或阻断下载。 10. **手动下载**:如果所有自动下载方法都失败,可以尝试使用浏览器直接下载,尽管这可能需要较长的时间,但通常能保证最终成功。 总的来说...

    7z解压缩工具,防止邮件系统过滤掉zip文件

    在实际应用中,如果需要发送的文件是ZIP格式,但担心被邮件系统过滤,可以使用7-Zip将ZIP文件转换为7z格式。操作步骤如下: 1. 使用7-Zip打开ZIP文件。 2. 选择“添加到压缩文件”选项。 3. 在弹出的对话框中,选择...

    根据文件头信息判断文件类型

    下面我们将详细讨论文件头信息以及如何利用它来识别不同类型的文件。 文件头信息是指文件起始位置的一段特定字节序列,这些字节序列包含了文件格式的标识信息。每种文件格式都有其独特的文件头,就像身份证一样,...

    chm文件打开空白无内容的解决办法.docx

    CHM(Compiled Help Manual)文件是微软开发的一种帮助文件格式,用于存储电子文档,常见于软件的帮助手册。这种文件将HTML页面、图像和其他资源压缩在一起,以便快速访问和查看。然而,有时候用户在尝试打开CHM文件...

    文件打开异常修复.zip

    在日常使用电脑的过程中,我们可能会遇到“文件打开异常”这类问题,这通常表现为系统无法运行特定的exe可执行文件或其他类型的文件。这个问题可能是由多种原因引起的,包括病毒或恶意软件感染、文件损坏、操作系统...

    java通过文件头内容判断文件类型

    例如,JPEG图像文件的开头通常是"FF D8 FF E0",PDF文档的开头是"%PDF-",ZIP压缩文件的头四个字节是"50 4B 03 04"等。这些特定的字节序列就是我们识别文件类型的关键。 在Java中,我们可以使用`java.nio`包中的`...

    打开金蝶老是会弹出安装office 2003,问题解决方法

    ### 打开金蝶老是会弹出安装office 2003的问题及解决方法 在使用金蝶软件的过程中,有些用户可能会遇到这样一个问题:每当启动金蝶时,系统总会弹出提示要求安装Microsoft Office 2003。这个问题不仅会给用户带来...

    中文停用词stopwords.zip

    "中文停用词stopwords.zip"这个压缩包包含了一些知名的中文停用词表,用于帮助开发者和研究者在进行NLP任务时过滤掉这些无用的信息。以下是压缩包内的各个文件: 1. **README.md**:这是一个Markdown格式的文件,...

    ChatGPT可以上传文件了,一键执行.zip

    文件"ChatGPT可以上传文件了,一键执行.zip"暗示了这个新特性,用户现在可以直接将文档提交给ChatGPT,模型会解析文件内容并根据其中的信息提供相应的帮助或分析。例如,上传一个.docx文件(如我们这里的情况),...

    Redis.zip下载

    Redis是一款开源、高性能、键值对存储数据库,常被用于数据缓存、消息队列以及分布式计算等场景。它的特点是支持多种数据结构,...下载Redis.zip文件后,你可以安装并体验这些特性,进一步了解和利用Redis的强大能力。

    加密vb文件工具v1.0.zip

    第一步,解压缩下载的文件,这通常可以通过任何常见的解压缩软件如WinRAR或7-Zip来完成。解压完成后,找到并运行“加密vbs.exe”这个文件。这个程序是加密VB脚本的界面和处理引擎,用户无需进行复杂的设置或配置,只...

    如何下载Win8系统带有不安全标记的文件.docx

    当用户尝试下载文件时,如果SmartScreen识别到该文件未被广泛使用或者与已知恶意软件有相似特征,它会标记该文件为不安全,并阻止下载。然而,有时SmartScreen可能会误判,导致用户无法下载实际上无害的文件。在这种...

    浅谈城市居民自治-论文.zip

    8. **版本控制**:在软件开发中,开发者可能将源代码压缩为ZIP文件提交到版本控制系统,如Git,以便于存储和版本管理。 9. **云存储兼容性**:许多云存储服务,如Google Drive、Dropbox,都支持直接上传和下载ZIP...

    a7.13左出库,右打角避障,左环岛,距离计算避免圆环误判.zip

    在自动驾驶和智能车辆技术中,"a7.13左出库,右打角避障,左环岛,距离计算避免圆环误判"描述的是一系列关键操作和算法,这些操作是车辆在复杂道路环境中安全行驶所必需的。下面我们将深入探讨这些知识点: 1. **左...

    pcshare免杀版.zip

    总的来说,"pcshare免杀版.zip"是一个经过修改的PCShare版本,旨在提供安全的文件共享体验,而不会被防病毒软件误判为威胁。对于需要在局域网内快速交换文件的用户,特别是那些担心安全问题的用户,这个版本是一个...

    升级IE10的准备哦工作

    防火墙或杀毒软件有时会误判IE10安装程序为恶意软件或威胁,从而阻止其正常运行。 **解决方法:** 1. **临时禁用防火墙或杀毒软件:**确保在安装过程中不会被拦截。 2. **重新启动IE10安装程序:**以管理员身份运行...

    TeamViewer14误判修复

    TeamViewer是一款广受欢迎的远程控制软件,它允许用户在不同设备之间进行实时屏幕共享、远程桌面控制以及文件传输。在Windows平台上,TeamViewer有时会错误地将个人用户的使用判定为商业用途,这可能会导致功能限制...

    20K不进纸解决方案.zip

    标题中的“20K不进纸解决方案.zip”表明这是一个针对EPSON 20K打印机不进纸问题的解决方法集合。EPSON 20K是一款常见的小型办公室或个人使用的打印机,可能由于各种原因出现不进纸的问题,如纸张堵塞、传感器故障、...

    c++封装从文件读取h264nalu.zip

    本主题将深入探讨如何使用C++封装一个功能,从文件中读取H264的NAL单元。 首先,我们需要理解H264 NAL单元的结构。每个NAL单元由一个起始码(通常为0x000001或0x00000001)和一个包含编码信息的 payload 部分组成。...

Global site tag (gtag.js) - Google Analytics