我在一些ASP.NET中使用以下C#代码将文件发送到浏览器:
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=" + myFileName);
Response.BinaryWrite(myContent);
Response.End();
Response.Close();在IE7-8、FF3-4和Chrome下,它可以很好地与WebDev.WebServer和IIS7兼容。但不是在IE6下。我不明白为什么这会是一个浏览器相关的问题...
发布于 2011-06-23 00:07:32
谢谢大家,以下是答案:这是由于页面中的Ajax造成的,而Ajax请求并没有像预期的那样被禁用。
发布于 2011-06-21 19:42:18
尝试添加content-length标头:
Response.AddHeader("content-length", myContent.Length.ToString());编辑:另一个可能需要的是content-type
Response.AddHeader("content-type", "type here");发布于 2011-06-21 19:43:21
使用TransmitFile而不是BinaryWrite。请参见示例here
https://stackoverflow.com/questions/6424622
复制相似问题