我有下面的代码来提示用户的浏览器下载一个excel文件。这是ASP.NET web表单中的C#代码C#:Chrome - 用户下载excel文件
byte[] fileData = GetExcelFile(..);
Response.Clear();
Response.ContentType = "application/vnd.ms-excel";
Response.AppendHeader("Content-Disposition", "attachment; filename=report.xlsx");
Response.OutputStream.Write(fileData, 0, fileData.Length);
Response.OutputStream.Flush();
Response.OutputStream.Close();
Response.Flush();
Response.Close();
Response.End();
当用户单击网站上的按钮时,会触发此代码。
它在IE11中完美工作;用户会得到一个对话框,询问他们是要保存还是打开文件。该文件打开正常。
但是,在Chrome 56.0.2924.87(最新版本)上,用户得到'失败 - 网络'和'加载响应数据失败'错误,并且没有任何内容被下载到他们的计算机上。这部分代码在一年内没有改变,并且已经工作了一年。但是,我昨天测试了它,并停止工作。
这是发送Excel文件到用户的响应
Web窗体,MVC,API,核心? – krillgar
您对'xlsx'文档使用了错误的内容类型。 –
打开浏览器控制台,查看控制台和网络选项卡,它会告诉你为什么失败。 – Gusman