用Response.BinaryWrite写文件流

最近事比较多,一直没有写什么东西。
前几天写一段向客户端写入流的代码:
 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。

你可能感兴趣的:(response)