前几天写一段向客户端写入流的代码:
运行,IE出现打开、下载文件的对话框。但是如果选择直接打开,Word却打不文件。
试了几次都不行,还以为是2003安全性的问题。
后来想到ASP.NET缓存,于是加了两行代码
Response.Flush();
Response.Close();
结果OK。
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);
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。