• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
墨尔本-情
博客园    首页    新随笔    联系   管理    订阅  订阅
二进制数据将图片保存到数据库,并读取数据库二进制数据显示图片

一. 浏览图片

OpenFileDialog ofd = new OpenFileDialog();
            ofd.InitialDirectory = @"E:\";
            ofd.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files(*.*)|*.*";
            ofd.RestoreDirectory = true;

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                picAddress = ofd.FileName;
                Image imge = Image.FromFile(picAddress);
                Bitmap bm = new Bitmap(imge, picBox.Width, picBox.Height);
                picBox.Image = bm;
            }

二.保存图片到数据库

读取数据库并取得需要保存图片的字段,将图片转换为二进制数据保存至数据库中

 Byte[] pic = GetContent(图片的路径);
                Comyindfo.Logo = pic;//数据库保存的字段

 

  /// <summary>
        /// 将图片的文件转化成二进制数据保存到数据库
        /// </summary>
        /// <param name="filepath"></param>
        /// <returns></returns>

public static Byte[] GetContent(string filepath)//将指定路径下的文件转换成二进制代码,用于传输到数据库
        {
            FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
            Byte[] byData = new Byte[fs.Length];//新建用于保存文件流的字节数组
            fs.Read(byData, 0, byData.Length);//读取文件流
            fs.Close();
            return byData;
        }

三.从数据库读取二进制数据并显示图片

 byte[] imagebytes = item.Logo;//读取数据库的字段
                MemoryStream ms = new MemoryStream(imagebytes);
                Bitmap bmpt = new Bitmap(ms);
                pictureBox1.Image = bmpt;

 

posted on 2017-08-11 20:30  墨尔本-情  阅读(2268)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3