FileStream MyFileStream; long FileSize; MyFileStream = new FileStream=("c:\\a.doc",FileMode.Open); FileSize = MyFileStream.Length; byte[] Buffer = new byte[(int)FileSize]; MyFileStream.Read(Buffer, 0, (int)FileSize); MyFileStream.Close(); Response.AddHeader("Content-Disposition", "attachment;filename="c:\\a.doc"); Response.ContentType="application/octet-stream"; Response.BinaryWrite(Buffer);
运行,IE出现打开、下载文件的对话框。但是如果选择直接打开,Word却打不文件。
试了几次都不行,还以为是2003安全性的问题。
后来想到ASP.NET缓存,于是加了两行代码
Response.Flush();
Response.Close();
结果OK。