我把文件以二进制的形式放到数据库中,现在我要怎么打开这个文件呀?

解决方案 »

  1.   

    SqlDataReader dr = cmd.ExecuteReader(strSql);
       while (dr.Read())
       {
                ary = (byte[])dr["Content"]//假设我这里的“content”字段为二进制,,ary 为byte数组
       }
    二进字在数据库里是image类型,你取出时你可以把image转换成byte[]数组,
      

  2.   

    我把WORD 文件写到数据库里了,现在要把它在客户端打开?
      

  3.   

    Response.ContentType = attachInfo.FileType.ToString();//得到文件类型,.doc、.gif、.jpg等等
    Response.AppendHeader("Content-Disposition", "attachment;fileName=" + HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(attachInfo.FileName)));
               try
               {
                   Response.BinaryWrite(----);//"----"表示你的二进制文件
               }
               catch
               {
                   Page.ClientScript.RegisterStartupScript(null, "", "<script>alert('没有找到该附件,文件可能已经丢失!')</script>");
               }
      

  4.   


    string strCnn = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString;
    SqlConnection myConnection = new SqlConnection(strCnn);
    SqlCommand command = new SqlCommand("select 附件, 附件名称, 附件类型 from 表名 Where NewsID =" + Request.QueryString["id"], myConnection);
    myConnection.Open();
    SqlDataReader dr = command.ExecuteReader();
    if (dr.Read())
    {
          Response.Clear();
          Response.HeaderEncoding = System.Text.Encoding.GetEncoding("GB2312"); 
          //Response.Charset = "UTF-8";
          Response.AddHeader("Content-Type", dr["附件类型"].ToString()); // File Upload时存到数据库的
          Response.AppendHeader("TITLE", dr["附件名称"].ToString());
          //Response.AppendHeader("Content-Disposition", "inline;filename=\"" + dr["AttachmentName"].ToString() + "\"");
          string fileName = dr["附件名称"].ToString();
          Response.AppendHeader("Content-Disposition", "inline;filename=\"" + dr["AttachmentName"].ToString() + "\"");
          Response.BinaryWrite((byte[])dr["附件"]);
    }
    dr.Close();
    myConnection.Dispose();
      

  5.   


    string strCnn = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString;
    SqlConnection myConnection = new SqlConnection(strCnn);
    SqlCommand command = new SqlCommand("select 附件, 附件名称, 附件类型 from 表名 Where NewsID =" + Request.QueryString["id"], myConnection);
    myConnection.Open();
    SqlDataReader dr = command.ExecuteReader();
    if (dr.Read())
    {
          Response.Clear();
          
          Response.HeaderEncoding = System.Text.Encoding.GetEncoding("GB2312"); 
          
          Response.AddHeader("Content-Type", dr["附件类型"].ToString()); // File Upload时存到数据库的       Response.AppendHeader("TITLE", dr["附件名称"].ToString());
         
          Response.AppendHeader("Content-Disposition", "inline;filename=\"" + dr["附件名称"].ToString() + "\"");      Response.BinaryWrite((byte[])dr["附件"]);
    }
    dr.Close();
    myConnection.Dispose();
      

  6.   

    编码改下试试: Response.HeaderEncoding = System.Text.Encoding.GetEncoding("GB2312"); 
    把GB2312 改成别的.
      

  7.   

    word文档是可以打开的,大家说说怎么回事?
      

  8.   

    string strCnn = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString;
    SqlConnection myConnection = new SqlConnection(strCnn);
    SqlCommand command = new SqlCommand("select 附件, 附件名称, 附件类型 from 表名 Where NewsID =" + Request.QueryString["id"], myConnection);
    myConnection.Open();
    SqlDataReader dr = command.ExecuteReader();
    if (dr.Read())
    {
          Response.Clear();
          
          Response.HeaderEncoding = System.Text.Encoding.GetEncoding("GB2312"); 
          
          Response.AddHeader("Content-Type", dr["附件类型"].ToString()); // File Upload时存到数据库的       Response.AppendHeader("TITLE", dr["附件名称"].ToString());
         
          Response.AppendHeader("Content-Disposition", "inline;filename=\"" + dr["附件名称"].ToString() + "\"");      Response.BinaryWrite((byte[])dr["附件"]);
    }
    dr.Close();
    myConnection.Dispose();这个可以
      

  9.   

    这个和11楼的是一样的呀,我试了DOC,JPG可以打开,但试TIF,XLS不能打开!
      

  10.   

    tif打开是乱码,xls文件要下载下来才能打开,不能在IE上打开?