1

所以...我有一个提供文档的 http 处理程序。响应内容类型设置正确,但处理程序的 url 没有扩展名,即 pdf。

它看起来像这样:

http://mysite/handler.ashx?id=123&locale=123

当我在 firefox/chrome 等(即体面的浏览器)中访问这个 url 时,一切都很好(浏览器正确地选择了一个插件(例如 acrobat reader)来在浏览器中呈现文件)。

如果我在 internet explorer 7 中访问这个 url,第一次一切都很好。如果我在不关闭浏览器的情况下再次按刷新或访问 url,我会得到一个对话框,询问“你要打开还是保存这个文件”!!!如果我点击打开,什么都不会发生!

接下来我创建了一个重定向页面......所以我访问

http://mysite/redirectto.aspx?id=123&locale=123

此页面仅重定向到原始 url,仍然出现上述问题。

并不是说在任何需要插件来渲染文件的地方都会出现同样的问题,即使用alternatiff的tiff文件,使用acrobat reader的pdf - 它们都有完全相同的问题!

想法??

4

2 回答 2

1

我已经做了类似的事情,遗憾的是这是去年,我不再在同一个campany能够参考我的代码来提供完整的解决方案。我们最终所做的基本上是使用一个用于 pdf 的 URL,但有一个 http 模块接收这些请求并根据需要处理它们。

编辑 - 当我说 http 模块时,它可能是一个 http 处理程序或其他东西。就像我说的,那是不久前的事了。一般的观点是,在请求进入服务器之前,它是一些代码在直接到页面之前被触发,所以我们的 something.pdf 被发现并且数据被扔回给调用者,看起来就像是从服务器读取静态 pdf。

于 2009-07-23T10:40:54.647 回答
1

所以...

我创建了一个中间页面,其中包含一个用于填充页面的 iframe。iframe 指向 httphandler。IE

这解决了 Internet Explorer 的问题。

至关重要的是,这个解决方案不需要额外的配置:)

于 2009-07-23T12:40:31.083 回答