【问题标题】:content-type application/download works in Win7/IE8 but not in Win7/IE11内容类型应用程序/下载在 Win7/IE8 中有效,但在 Win7/IE11 中无效
【发布时间】:2014-07-14 15:11:14
【问题描述】:

背景:我们的生产环境在客户端和服务器端都运行(旧版)vbscript。所以我们仍然在 IE8 上。我们正在考虑将客户端 PC 升级到 IE11。我们发现的一个问题是我们的 file-downloads-for-display-in-browser 不再有效。当点击屏幕上的“test.xlsx”时,它会调用一个执行以下操作的 vbscript:

...
(read blob from database which can be pdf, xls, etc.)
....
If Not objRec.BOF And Not objRec.EOF Then

   lngSize = objRec("document").ActualSize
   objBlob = objRec("document").GetChunk(lngSize)

   Response.ContentType = "application/download"
   Response.AddHeader "Content-disposition","attachment; filename=""" + objRec("file_name") + """"
   Response.BinaryWrite objBlob
...

我们得到提示:

“您要从 dev.ourintranet.com 打开或保存 download_asp?id=1616 吗?”

带有“打开”、“保存”和“取消”选项。

单击打开没有任何作用。 单击“保存”会打开目录通用对话框,但单击“保存”不会执行任何操作。 Clicknig Cancel 什么都不做。

为什么它不再适用于 IE11?非常感谢!

【问题讨论】:

  • 在打开保存取消提示中,如果我单击保存,对话框实际上默认为 URL 字符串“save download_asp?id=1616”,它不是有效的文件名。如果我将其更改为“c:\test.txt”,则它会保存。我可以在记事本中打开 c:\test.txt。
  • 到目前为止,您找到解决方案了吗?我也面临 ASP.NET 和 IE11/Win7 的同样问题。

标签: internet-explorer-11 contenttype


【解决方案1】:

客户端 VBScript 不再适用于 IE11 edge mode

从 Internet Explorer 11 开始,VBScript 已被弃用,不应再用作 IE11 的脚本语言。 IE11模式下显示的网页不会执行VBScript代码。

由于 IE11 模式不再支持 VBScript,以下 API 功能不再适用于网页:

The execScript function.
The VBArray object.
The "text/vbs" and "text/vbscript" MIME types (as supported type values for script elements).

更新当前依赖 VBSscript 以使用 JavaScript 的所有页面。如果这不可行,请尝试将网页替换为用 Visual Basic 编写的应用程序。

出于兼容性原因,VBScript 确实适用于旧文档模式(IE10 标准模式和更早版本),但是,这应该被视为临时解决方案。

【讨论】:

    猜你喜欢
    • 2012-06-12
    • 2014-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    相关资源
    最近更新 更多