关于数据库存放图片的存取

        

// 教员说过: C#中的Byte[]数组对应数据库里的image 那么下面的那么就是简单演示如何存如数据库 然后取出保存为图片的 取出的时候 我没去读数据库 太麻烦了 ! 就没写 主要是方法和核心代码   读取数据库代码不是重点!

代码简单解释:

1.在C#中image类型转换为Byte[]数组需要借助于内存流 MemoryStream

2.image.sava方法是将本图片以某种特定的图像编码格式保存到内存流中

3.Memory.ToArray(); 内存流转换为字节数组Byte[]

4.Bitmap 类用于处理由像素数据定义的图像的对象 (gif jpg等等)

5.myBitmap.Save(path, System.Drawing.Imaging.ImageFormat.Gif); 是将myBitmap 的对象转换为GIF格式的 注意:这里的转换不是后缀名的更改,而是图像编码解码的转换 本质的转换

6.这么点代码磨蹭我4个半小时 我的天啊 具体更详细的可以参考

//关联代码

            this.ofdPic.ShowDialog();
            Filename = this.ofdPic.FileName;
            string name = this.ofdPic.SafeFileName;
            m = new move { Name = name, Img = Image.FromFile(Filename) };

    using (SqlConnection con = new SqlConnection(connstring))
            {

                //将图片转换为字节数组
                SqlCommand cmd = new SqlCommand(@"INSERT INTO Movies([Name],[Pic]) VALUES( @Name, @Pic )", con);
                MemoryStream Memory = new MemoryStream();
                m.Img.Save(Memory, System.Drawing.Imaging.ImageFormat.Gif);
               
                Memory.Position = 0;
                cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = m.Name;
                cmd.Parameters.Add("@Pic", SqlDbType.Image).Value = Memory.ToArray();
                con.Open();
                cmd.ExecuteNonQuery();


               //将字节数组保存为图片

                MemoryStream ms = new MemoryStream(Memory.ToArray());
                Bitmap myBitmap = new Bitmap(ms, true);
                string path = "C:\\ww.gif";
                myBitmap.Save(path, System.Drawing.Imaging.ImageFormat.Gif);

}

                                                                                                                             10.5.23



郑重声明:资讯 【关于数据库存放图片的存取】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——