none
怎么把数据库的image类型的字段保存成文件 RRS feed

答案

  • 使用FileStream

    例子

      SqlConnection cn = new SqlConnection("Data Source=.;Initial Catalog=Northwind;User ID=sa;Password=xxxxxx");
      cn.Open();
      SqlCommand cmd = new SqlCommand();
      cmd.CommandText = "select Photo from Employees";
      cmd.Connection = cn;
      SqlDataReader dr = cmd.ExecuteReader();
      int i = 0;
      while(dr.Read())
      {
        i++;
        byte[] fileData = (byte[])dr["Photo"];
        BinaryWriter fileCreate = new BinaryWriter(File.Open(Server.MapPath("x"+i+".jpg"), FileMode.Create));
        fileCreate.Write(fileData);
        fileCreate.Close();
      }
    


    【孟子E章】
    • 已标记为答案 KeFang Chen 2009年10月28日 2:23
    2009年10月27日 7:25
    版主
  • 补充一下,注意你存储以前的照片格式。


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    欢迎访问老徐的中文技术博客:Welcome to My Chinese Technical Blog
    欢迎访问微软WCF中文技术论坛:Welcome to Microsoft Chinese WCF Forum
    欢迎访问微软WCF英文技术论坛:Welcome to Microsoft English WCF Forum
    • 已标记为答案 KeFang Chen 2009年10月28日 2:23
    2009年10月28日 1:01
    版主

全部回复

  • 使用FileStream

    例子

      SqlConnection cn = new SqlConnection("Data Source=.;Initial Catalog=Northwind;User ID=sa;Password=xxxxxx");
      cn.Open();
      SqlCommand cmd = new SqlCommand();
      cmd.CommandText = "select Photo from Employees";
      cmd.Connection = cn;
      SqlDataReader dr = cmd.ExecuteReader();
      int i = 0;
      while(dr.Read())
      {
        i++;
        byte[] fileData = (byte[])dr["Photo"];
        BinaryWriter fileCreate = new BinaryWriter(File.Open(Server.MapPath("x"+i+".jpg"), FileMode.Create));
        fileCreate.Write(fileData);
        fileCreate.Close();
      }
    


    【孟子E章】
    • 已标记为答案 KeFang Chen 2009年10月28日 2:23
    2009年10月27日 7:25
    版主
  • 补充一下,注意你存储以前的照片格式。


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    欢迎访问老徐的中文技术博客:Welcome to My Chinese Technical Blog
    欢迎访问微软WCF中文技术论坛:Welcome to Microsoft Chinese WCF Forum
    欢迎访问微软WCF英文技术论坛:Welcome to Microsoft English WCF Forum
    • 已标记为答案 KeFang Chen 2009年10月28日 2:23
    2009年10月28日 1:01
    版主