如何让IE6认真对待ContentType?

时间:2009-10-07 17:01:11

标签: asp.net internet-explorer-6 activex content-type mime

我正在与第三方ActiveX控件进行斗争,我们用它来从ASP.Net(3.5)Web表单将TIFF图像加载到客户端浏览器中。 ActiveX控件正确地注册(据我所知)作为TIFF图像的MIME处理程序,并且每次在本地双击文件时都能正常工作。但是,IE6和ActiveX控件的行为有所不同,这取决于我迄今为止能够识别的几种情况。

修改 ActiveX控件实际上并不在网页中(没有标记)。客户端将安装ActiveX控件,并通过将原始图像流式传输到客户端,ActiveX控件将根据MIME处理自动在浏览器中生成。 结束编辑

出于背景目的,我们使用Response.BinaryWrite(缓冲区)将图像流式传输到浏览器,其中缓冲区是包含二进制图像的字节数组。我也尝试过在Web表单中使用Response.TransmitFile()和其他一些方法。 Web服务器正在运行Server 2003 SE SP2,网站在IIS6下运行。

  • 如果我在流式传输之前设置Response.ContentType =“image / tiff”,则ActiveX控件无法在IE6中加载。
  • 如果我在查询字符串中的任何位置指定图像的名称或“.tif”,则ActiveX控件将在IE6中成功加载。
  • 如果我使用FireFox,一切都很完美(在这里插入讽刺“IE6糟透了”的陈词滥调)。

我已经对IE6用于确定MIME处理的注册表设置进行了大量研究,甚至尝试在客户端上禁用MIME sniffing / MIME handling,但都无济于事。我不介意在查询字符串中指定“.tif”,但即使这样也不会在Citrix客户端上成功加载控件,该客户端可以“登记!”在我身边。

哦,还有一件事;要求ActiveX控件在不提示用户的情况下加载,因此不可能添加带有“attachment; filename = yaddayaddayadda.tif”的Content-Disposition标头。

以前有人遇到过这样的事吗?如果你这样做,你是如何克服它的?是否有可以推送到客户端桌面的全局修复程序?我需要在Web服务器上设置一些东西吗?我觉得我已经尝试了一切。

提前致谢。

1 个答案:

答案 0 :(得分:0)

目前还不清楚你的问题到底发生了什么。是ASPX页面上的ActiveX控件还是它向ASPX页面发出请求?您使用ASPX来提供二进制TIFF数据吗?