Internet Explorer 和使用 asp.net httphandlers 提供文件

发布于 2024-07-29 20:13:16 字数 798 浏览 3 评论 0原文

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

它看起来像这样:

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

当我在 firefox/chrome 等(即像样的浏览器)中访问此网址时,一切都很好(浏览器正确选择插件(例如 acrobat reader)来在浏览器中呈现文件)。

如果我在 Internet Explorer 7 中访问此网址,第一次一切正常。 如果我在不关闭浏览器的情况下再次按下刷新或访问该网址,我会收到一个对话框,询问“您要打开还是保存此文件”!!!! 如果我点击打开,什么也不会发生!

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

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

该页面只是重定向到原始网址,但仍然出现上述问题。

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

想法??

So... I have an http handler which serves documents. The response contentType is correctly set but the url of the handler does not have an extension i.e. pdf.

It looks like this:

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

When I visit this url in firefox/chrome etc (i.e. the decent browsers) all is well (the browser correctly selects a plugin (such as acrobat reader) to render the file within the browser) .

If I visit this url in internet explorer 7, the first time all is well. If I press refresh or visit the url again without closing the browser, I get a dialog that asks "Do you want to open or save this file"!!!! If I click open, nothing happens!

Next I created a redirect page... so I visit

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

This page just redirects to the original url and still issues mention above occurred.

Not that the same problem occurs for whereever a plugin is required to render the file i.e. tiff files using alternatiff, pdf using acrobat reader - they all have exactly the same issue!

Ideas??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

Smile简单爱 2024-08-05 20:13:17

所以...

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

这解决了 Internet Explorer 的问题。

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

so...

I created a intermediate page which contains an iframe styled to fill the page.
The iframe points at the httphandler.
i.e.

This solves the issue for internet explorer.

Crucially this solution requires no additional configuration :)

半透明的墙 2024-08-05 20:13:16

我做过类似的事情,遗憾的是去年,我不再在同一个公司,无法引用我的代码来提供完整的解决方案。 我们最终所做的本质上是使用 pdf 的 URL,但有一个 http 模块来接收这些请求并根据需要进行处理。

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

I've done something similar to this, sadly it was last year, and I'm not at the same campany any more to be able to reference my code to give full solution. What we ended up doing essentially was to use a URL that was for a pdf, but had an http module picking up those requests and dealing with them as required.

Edit - when I say http module, it may have been an http handler or something. Like I said, it was a while ago. The general point is that it was some code that fired as the request came in to the server, before being direct to a page, so our something.pdf was spotted and the data was thrown back at the caller and it just seemed like it was reading a static pdf from the server.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文