Dragon_2013
讽刺之城俄亥俄
采纳率0%
2015-09-08 02:15

从数据库获取图片地址如何赋给bitmap类型的值

如题。。。。。。。。求大神指点
下面是我自己编写的几句代码
//从数据库获取图片地址 (value是string类型)
var sert = db.T_GrowData.Where(e => e.dateSubmit == dateSubmit && e.status == 1).AsEnumerable().FirstOrDefault().value;
//将获取到的string类型数据转换成byte[]
byte[] bt = System.Text.Encoding.Default.GetBytes(sert);
//再将转换成的byte[]赋值给bitmap
MemoryStream ms = new MemoryStream(bt);
Bitmap bm = (Bitmap)Image.FromStream(ms);//运行时此处报错:参数错误

我的这种思路是否正确?在赋值的时候报错是什么原因呢?这种问题该如何解决?
哪位大神有解决办法的还望不要吝啬告诉本小白,,,先谢谢啦

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 6年前

    byte[] bt = System.Text.Encoding.Default.GetBytes(sert);
    问题在这里,你的数据库存的是什么?是文本类型?比如
    10F89A5C0170...
    如果是这种,你得这么写

     byte[] bt =Regex.Matches(sert, @"[a-fA-F0-9]{2}").Cast<Match>().Select(x => Convert.ToByte(x.Value)).ToArray();
    
    点赞 评论 复制链接分享

相关推荐