【问题标题】:showing content on the blank screen after downloading a file下载文件后在空白屏幕上显示内容
【发布时间】:2009-02-03 21:58:42
【问题描述】:

我观察到,在某些情况下,网络浏览器会导航到空白页面,然后提示用户下载文件。在我目前的情况下,它正在导航到生成 Excel 文件的 URL。该文件的下载工作完美,但用户现在被困在一个空白页面上。我想弄清楚两件事:

  1. 什么原因导致显示空白页?它不会一直发生。这是使用 GET 和 POST 的区别吗(我不记得看到超链接这样做,但表单通常这样做)?它与内容处置有关吗?在我目前的情况下,我将 Content-Disposition 设置为“内联”,因为我希望它显示在 IE 的浏览器中。 Firefox(可能还有其他)当然会提示下载,因为它们无法内联显示。在用户选择保存它的情况下会产生空白屏幕。
  2. 如果可能的话,我想在这个空白屏幕上显示一些内容,以向用户提供诸如“您的文件已生成,单击此处返回主屏幕”之类的消息。有什么办法可以做到吗?

我正在使用用 C++ 编写的 IIS 扩展,因此 ASP、PHP 等的解决方案将没有帮助,除非它们普遍适用(尽管我不介意学习这些语言的解决方案!)。谢谢。

【问题讨论】:

  • 很抱歉翻了一篇旧帖子,但我真的对将 C++ 用于 Web 应用程序的动机很感兴趣。
  • @Hans 这是一个更晚的回复......该应用程序最初是作为基于 CORBA 的客户端-服务器桌面应用程序构建的。当 Web 风靡一时,桌面应用程序被重写以生成 HTML,而不是桌面 UI。我认为选择 C++ 是因为它是当时获得 CORBA 库的唯一方法,或者可能是因为它是开发人员已经知道的语言。 “桌面应用程序”作为 DLL 加载到 IIS 中,瞧,它现在是一个 web 应用程序。这真是太可怕了,我很高兴我不再在那里工作了。

标签: iis file download


【解决方案1】:

我认为您实际上回答了您自己的问题:将 content-disposition 设置为 inline 就是这样做的。想到的一种解决方案是浏览器检测:如果浏览器是 IE,则使用内联配置,否则使用附件。

顺便说一句,作为用户,我更喜欢可以让我选择是下载文件还是在浏览器中查看文件的网站(例如,访问 PDF 文件时)。在这种情况下,我会考虑使用一个链接/按钮来下载文件,并添加第二个链接/按钮供 IE 浏览器查看。

【讨论】:

  • 奇怪的是,我现在的设置方式会提示用户在 IE 中打开或保存,如果他们选择打开,它会内联打开。我以前从未见过这种行为,我不知道它是否是由我所做的事情引起的...... IE7,顺便说一句。
猜你喜欢
  • 2017-01-13
  • 2021-09-09
  • 2016-05-02
  • 2022-08-10
  • 1970-01-01
  • 2018-01-03
  • 1970-01-01
  • 2014-11-23
  • 2019-09-22
相关资源
最近更新 更多