【问题标题】:force text file download chrome (v.29) issue强制文本文件下载 chrome (v.29) 问题
【发布时间】:2013-08-29 21:33:45
【问题描述】:

我们刚刚开始在 Chrome v.29 浏览器上遇到文件下载问题。系统不会提示用户下载文件。

请看下面的代码:

context.Response.Clear();
context.Response.ClearHeaders();
context.Response.ClearContent();

context.Response.AddHeader("Content-Disposition", "attachment; filename=Test.txt");
context.Response.CacheControl = "private";
context.Response.ContentType = "text/plain";
byte[] data = new byte[Encoding.UTF8.GetByteCount("Test")];
data = Encoding.UTF8.GetBytes("Test");
context.Response.AppendHeader("Content-Length", data.Length.ToString());
context.Response.ContentEncoding = Encoding.UTF8;
context.Response.BinaryWrite(data);
context.Response.Flush();
context.Response.End();

http 头/正文:

HTTP/1.1 200 OK
Date: Thu, 29 Aug 2013 21:47:44 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Disposition: attachment; filename=Test.txt
Content-Length: 4
Cache-Control: private
Content-Type: text/plain

Test

相同的代码适用于除 chrome 之外的所有浏览器!它曾经在 chrome 上工作,直到他们推出 29 版!!!

【问题讨论】:

标签: c# asp.net google-chrome


【解决方案1】:

我一直使用以下没有问题:

context.Response.ContentType = "application/octet-stream"; 

context.Response.ContentType = "application/download"; 

如果您仍然遇到问题,请检查您的chrome extensions

使用 Chrome v.29 下载示例(内容类型:“application/octet-stream”)

还有 chrome 版本 29.0.1547.62

【讨论】:

  • 我也尝试过“application/octet-stream”、“text/csv”和“application/x-unknown”。没有任何帮助。
  • 我刚刚用 Chrome 29.0.1547.57 m 测试了原始代码,它按预期运行,这里还有更多内容
  • 谢谢@jdphenix。我想不出还有什么可能导致这种情况的。我还在使用 fiddler 时遇到的原始问题中添加了 http 标头/正文。
  • 根据您的 cmets 更新。
  • @jdphenix 您的请求可能应该在 OP 上(仅供参考)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-03
  • 1970-01-01
  • 2012-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多