当前位置:  开发笔记 > 编程语言 > 正文

文件下载不适用于IE7

如何解决《文件下载不适用于IE7》经验,为你挑选了1个好方法。

我有一个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();

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

window.open ('Download.aspx?filename=somefile.ext','downloadWindow','location=0,status=0,scrollbars=0,);

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

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



1> swilliams..:

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

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有