很长一段时间以来,我都有相同的“工作”代码。从 ColdFusion 迁移到 Railo 并将 IIS6 升级到 IIS7.5 等后,我在 Chrome 和 Internet Explorer 中下载和打开 docx 文件(以及一些“pdf 文件”)时遇到问题。在 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 的所有值,但我没有看到任何差异。