首页 新闻 搜索 专区 学院

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

0
[已关闭问题] 关闭于 2015-12-15 16:48

如题。。。。。。。。求大神指点
下面是我自己编写的几句代码
//从数据库获取图片地址 (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);//运行时此处报错:参数无效

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

玩世不恭的雷寅的主页 玩世不恭的雷寅 | 初学一级 | 园豆:38
提问于:2015-09-08 16:36
< >
分享
所有回答(1)
0

MemoryStream tempStream = new MemoryStream(bt );
Bitmap bitMap = new Bitmap(tempStream);
bitMap.Save(stream, ImageFormat.Jpeg);
bitMap.Dispose();
return this.File(stream.ToArray(), "image/jpeg");

powerixao | 园豆:401 (菜鸟二级) | 2015-09-08 16:41

你这种方式我也试过

Bitmap bitMap = new Bitmap(tempStream);   //报错:参数无效

支持(0) 反对(0) 玩世不恭的雷寅 | 园豆:38 (初学一级) | 2015-09-08 16:46

@玩世不恭的雷寅: 我一直这么做的,都没有问题,那我在给一种改变http头的方法

byte[] stream = new byte[10240];
stream = 获取二进制流;
Response.Clear();
Response.ContentType = "APPLICATION/OCTET-STREAM";

////appendheader,将 HTTP 头添加到输出流。
Response.AppendHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName));
Response.Buffer = true;
Response.BinaryWrite(stream);
Response.End();

支持(0) 反对(0) powerixao | 园豆:401 (菜鸟二级) | 2015-09-09 18:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册