如题。。。。。。。。求大神指点
下面是我自己编写的几句代码
//从数据库获取图片地址 (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);//运行时此处报错:参数无效
我的这种思路是否正确?在赋值的时候报错是什么原因呢?这种问题该如何解决?
哪位大神有解决办法的还望不要吝啬告诉本小白,,,先谢谢啦
MemoryStream tempStream = new MemoryStream(bt );
Bitmap bitMap = new Bitmap(tempStream);
bitMap.Save(stream, ImageFormat.Jpeg);
bitMap.Dispose();
return this.File(stream.ToArray(), "image/jpeg");
你这种方式我也试过
Bitmap bitMap = new Bitmap(tempStream); //报错:参数无效
@玩世不恭的雷寅: 我一直这么做的,都没有问题,那我在给一种改变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();