从数据库中读取图片文件和将图片和写入到数据库中

private void button1_Click(object sender, System.EventArgs e)
  { --写入
   SqlConnection conn=new SqlConnection(@"data source=.;uid=sa;pwd=;database=abc");
   conn.Open();
   SqlCommand cmd=new SqlCommand("insert into ImageInfo values (@i)",conn);
   byte[] ib=new Byte[60000];
   FileStream fs=new FileStream(@"c:/2.jpg",FileMode.Open ,FileAccess.Read );
   fs.Read(ib,0,60000);
   cmd.Parameters.Add("@i",SqlDbType.Image,(int)fs.Length);
   cmd.Parameters["@i"].Value=ib;
   cmd.ExecuteNonQuery();
   conn.Close();
  }

  /* --读出
         SqlConnection conn=new SqlConnection(@"data source=chenyuming2004/VSdotNET;uid=sa;pwd=cym;database=lhf");
           conn.Open();
           SqlCommand cmd=new SqlCommand("select 照片 from fuser where password='1b'",conn);
           SqlDataReader reader=cmd.ExecuteReader();
           reader.Read();
           MemoryStream buf=new MemoryStream((byte[])reader[0]);
           Image image=Image.FromStream(buf,true);
           pictureBox1.Image=image;

         */

 

 
    DataAccess.MapInfoDB mdb = new DataAccess.MapInfoDB();
    SqlDataReader dr = mdb.GetSingleReader(mapID);

    try
    {
     if(dr.Read())
     {
      MemoryStream streamImage = new MemoryStream((byte[])dr["MapContent"]);

      System.Drawing.Image imageSource = System.Drawing.Image.FromStream(streamImage);

      System.Drawing.Image.GetThumbnailImageAbort myCallBack =
       new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);

      System.Drawing.Image newImage = imageSource.GetThumbnailImage(300, 200, myCallBack, IntPtr.Zero);

      Response.Clear();
      Response.ContentType = dr["MapType"].ToString();
      Common.CommonClass cc = new Common.CommonClass();
      System.Drawing.Imaging.ImageFormat ifm = cc.GetImageType(dr["MapType"].ToString()); 

      MemoryStream outStream = new MemoryStream();
      newImage.Save(outStream, ifm);

      outStream.WriteTo(Response.OutputStream);

      streamImage.Close();
      outStream.Close();
     }
    }
    catch(Exception ex)
    {
     String strMsg = ex.Message;
    }

    dr.Close();
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值