【问题标题】:Firefox response.redirect not working for filesFirefox response.redirect 不适用于文件
【发布时间】:2011-08-12 09:19:46
【问题描述】:

我正在尝试允许用户使用

下载 excel 文件
Response.Redirect(
    "http://localhost/myapp/download_folder/example excel file_july.xls") 

在 ASP.net 页面的页面加载中

但在客户端,我在 Firefox 3.5 中得到以下屏幕

您可以观察到文件名和文件类型显示为空字段。确定和取消按钮没有做任何事情。

这只发生在 firefox 3.5 中,它在 firefox 更高版本和其他浏览器中工作。

我尝试使用Response.Clear() 清除响应,将Response.BinaryWrite 与文件字节数组一起使用,甚至尝试通过调用window.open(url) 使用javascript 打开文件。

【问题讨论】:

  • 文件名中的空格可能会导致一些问题。尝试使用不带空格的文件名。
  • @Uwe 我试过不带空格(用_(下划线)替换空格),还是不行
  • 你能确认它不能在第二台机器上工作吗?也许你的 Firefox 设置搞砸了。查看来自 Mozilla 的 KB。 support.mozilla.com/en-US/kb/…
  • @Chris 我在另一台机器上检查过,问题仍然存在,另一件事是,如果我直接访问该文件,我可以下载它

标签: asp.net vb.net firefox


【解决方案1】:

你做错了。

只是作为一个例子,看看这里的问题主体做了什么:

How to download file and reload

在您的情况下,您可能应该使用 Response.Write 的重载。

关键是你应该设置一些Response headers,至少告诉浏览器文件名、文件长度和内容类型。

【讨论】:

  • 我尝试设置内容类型和 Content-Disposition 标头,但均无效
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
  • 1970-01-01
  • 1970-01-01
  • 2018-07-19
相关资源
最近更新 更多