代码:/*...*/
if (!File.Exists(Server.MapPath(path)))
{
this.Response.Write("文件不存在");
return;
}
path = Server.MapPath(path);long ImageSize;
Byte[] ImageBuffer;
//System.IO.File f;//设置文件大小
FileInfo fi = new FileInfo(path);
ImageSize = fi.Length;//创建一文件流对象
FileStream fs = new FileStream(path,FileMode.Open);//基于文件流创建二进制读
BinaryReader r = new BinaryReader(fs);
r.BaseStream.Seek(0, SeekOrigin.Begin);
ImageBuffer = r.ReadBytes(Convert.ToInt32(ImageSize));Response.Clear();
Response.BufferOutput = false;
Response.ContentType = "Application/ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=\"" + name + "\"");
Response.AddHeader("Content-Length", ImageBuffer.Length.ToString());
Response.BinaryWrite(ImageBuffer);
r.Close();
fs.Close();
Response.End();这个页面是在一个弹出窗口中的,页面是弹出了不过在IE7下这个页面弹出后,没有出现“下载”的对话框,而是被关掉了。
IE6没有这个问题
if (!File.Exists(Server.MapPath(path)))
{
this.Response.Write("文件不存在");
return;
}
path = Server.MapPath(path);long ImageSize;
Byte[] ImageBuffer;
//System.IO.File f;//设置文件大小
FileInfo fi = new FileInfo(path);
ImageSize = fi.Length;//创建一文件流对象
FileStream fs = new FileStream(path,FileMode.Open);//基于文件流创建二进制读
BinaryReader r = new BinaryReader(fs);
r.BaseStream.Seek(0, SeekOrigin.Begin);
ImageBuffer = r.ReadBytes(Convert.ToInt32(ImageSize));Response.Clear();
Response.BufferOutput = false;
Response.ContentType = "Application/ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=\"" + name + "\"");
Response.AddHeader("Content-Length", ImageBuffer.Length.ToString());
Response.BinaryWrite(ImageBuffer);
r.Close();
fs.Close();
Response.End();这个页面是在一个弹出窗口中的,页面是弹出了不过在IE7下这个页面弹出后,没有出现“下载”的对话框,而是被关掉了。
IE6没有这个问题
多试下LS的方法
http://www.bitscn.com/windows/systembase/200604/5339.html