文件下载不适用于IE7

Ser*_*gel 2 asp.net download internet-explorer-7

我有一个asp.net页面,它将文件的内容发送到客户端,因此浏览器显示另存为对话框以下载文件.此页面以弹出窗口显示,当用户单击保存按钮时,它会自动关闭并开始下载.

在Windows Server 2003上,它工作正常.在与其他浏览器的Vista上,也可以正常工作.但是当我尝试使用IE7和Vista时,弹出窗口会打开,并在大约一秒后关闭而不显示文件下载对话框.我怎么解决这个问题?

我用于响应生成的代码是:

FileStream fileStream = new FileStream(filePath, FileMode.Open);
int fileSize = (int)fileStream.Length;

byte[] buffer = new byte[fileSize];
fileStream.Read(buffer, 0, (int)fileSize);
fileStream.Close();

Response.Clear();

Response.Buffer = true;
Response.BufferOutput = true;
Response.ContentType = "application / octet - stream";

Response.AddHeader("Content-Length", buffer.Length.ToString());
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
Response.AddHeader("Extension", Path.GetExtension(filename));
Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1254"); 
Response.BinaryWrite(buffer);
Response.Flush();
Response.End();
Run Code Online (Sandbox Code Playgroud)

我用这个javascript打开弹出窗口:

window.open ('Download.aspx?filename=somefile.ext','downloadWindow','location=0,status=0,scrollbars=0,width=1,height=1');
Run Code Online (Sandbox Code Playgroud)

编辑:我纠正了空格,但不幸的是他们不是问题.

编辑2 ::似乎这个问题与Vista无关,只与IE有关.我还发现,当项目在本地开发服务器上运行时,它工作正常,但是当连接到发布服务器时,它无法下载文件.

swi*_*ams 8

尝试删除你的空格ContentType.标准是application/octet-stream.