我在某些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下。我不明白为什么它可能是与浏览器相关的问题...
答案 0 :(得分:1)
尝试添加content-length
标题:
Response.AddHeader("content-length", myContent.Length.ToString());
编辑:可能需要的另一个是content-type
:
Response.AddHeader("content-type", "type here");
答案 1 :(得分:0)
而不是BinaryWrite,请使用TransmitFile。参见示例here
答案 2 :(得分:0)
谢谢大家,答案是:这是由于页面中的Ajax,并且没有按预期禁用Ajax请求。