connection.Open();
   SqlDataReader  dr  =  command.ExecuteReader();
   if(dr.Read())
   {
     Response.ContentType = dr["DocFileType"].ToString();
     Response.BinaryWrite((byte[])dr["DocFileData"]);
   }
   connection.Close();
这样可以在页面上显示一些东西(乱码),我不知道如何把它还原为doc文档...
我的思路是用文件流读出来,然后生成一个临时文件,然后Redirect到那个页面.. 但是不知道怎么写!
谢谢啊!!  有一点急...

解决方案 »

  1.   

    trybyte[] myFile = (byte[])dr["DocFileData"];Response.AddHeader( "Content-Type", "application/octet-stream" );
    Response.AddHeader("Content-Disposition", "attachment;filename=" + "文件名" );
    Response.AddHeader("Content-Length", myFile.Length.ToString());
    Response.BinaryWrite(myFile);
    Response.End();
      

  2.   

    Response.ContentType = dr["DocFileType"].ToString();
    你这里面的dr["DocFileType"].ToString();读出出来是什么东西?
    正式的word文件,此处读取出来应该是:application/msword,而不是doc.
    你可尝试直接写如下:
    Response.ContentType = "application/msword";
    再试一下看.
    如果还不行,那可能是你的文件本来就有问题,你再重新用页面再上传一个.
      

  3.   

    是的 ,读出来的值是application/msword但是显示的时候是乱码啊... 我不知道是怎么回事??
    是不是需要用流生成一个.doc的文件??  继续求助!!
      

  4.   

    你说的乱码是还原文档是内容是乱码还是文件名是乱码? LaoDai_Net所写的应该可以还原文档,如果是文件名是乱码,那是因为需要对文件名进行编码!否则显示的文件名就会是乱码!
      

  5.   

    不是的... 我的文件名和原文件里面都没有乱码,但是显示出来的时候是乱码...还有如果是.txt的文本文件的话,能够正常显示中文,但是没有换行! 不知道是什么 原因... 如果是图片的话,能够正常还原...