已下载的docx文件在Chrome和IE中损坏(Railo / Coldfusion)

时间:2013-09-10 14:58:41

标签: internet-explorer google-chrome coldfusion railo

我已经有相同的'工作'代码了很长一段时间了。从ColdFusion迁移到Railo并将IIS6升级到IIS7.5等后,我在Chrome和Internet Explorer中下载和打开docx文件(以及一些'pdf-files')时出现问题。在Firefox中,一切仍然正常。

我正在使用的代码(用于docx文件)

<cfset fileInfo=#getfileinfo(thefile)#>
<cfheader name="Content-Disposition" value="attachment; filename=""#thefilename#"""  charset="utf-8">
<cfheader name="Content-Length" value="#fileInfo.size#">
<cfcontent type="application/vnd.openxmlformats-officedocument.wordprocessingml.document" file="#thefile#">
<cfabort/>

对于其他文件类型我只使用不同的<cfcontent type="">;我已经尝试过使用不同的mime类型(甚至应用程序/未知)但没有任何作用..

对于ASP,我发现强制response.END的解决方案适用于损坏的docx文件......但是<cfabort/>没有做同样的伎俩

任何想法?

同时: 奇怪的是,当我从Chrome将相同的文件保存到磁盘时,它比通过Firefox和Safari下载的相同文件(可以打开并在磁盘上具有确切的FileInfo.size)的几个kb更大(并且无法打开)。 Internet Explorer根本没有下载文件...我收到消息保存或打开,但无论我选择什么都没有发生.... 我试图比较Fiddler的所有值,但我没有看到任何差异。

1 个答案:

答案 0 :(得分:1)

我刚刚实施的这个问题的解决方法是有效的:

  • 在可通过Web访问的目录中制作文件的(临时)副本
  • cflocation to the file

当然远非理想 - 但它将作为短期解决方案