日期:2014-05-17  浏览次数:20589 次

数据库image类型的问题
byte[] imagebytes=null;
string sqlstr=string.Format("select CONTENT from sys_adtion_word where guid='{0}'",guidstr);
this.dbgr.GetScalarValue(sqlstr);
现在的问题就是怎么把取出来的值存到imagebytes变量里面去,怎么转换类型

------解决方案--------------------
sql中有image类型,可以直接存成image类型,但是之前也要转换成二进制,读取出来也是二进制数据流,需要之后再转换。某种程度上来说,只是有了一个特定的类型,具体操作和string没有大区别。

个人认为,image类型使用率不高,因为如果存大图,保存,读取都会花费一定时间,如果是小图的话,直接存在存储器上就行。就我来说只有一些非常重要的图片文档,才会如数据库。
------解决方案--------------------
sql中有image类型,可以直接存成image类型,但是之前也要转换成二进制,读取出来也是二进制数据流,需要之后再转换。
vc中有没有二进制的格式转化字符
------解决方案--------------------
System.Drawing.Image imgThumb = new System.Drawing.Bitmap(sourceImage.Width, sourceImage.Height);
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(imgThumb);
imgThumb.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png);
------解决方案--------------------
这个也行
红色的换成你那个imagebytes就好了
byte[] fileContent = null;
MemoryStream ms = new MemoryStream(fileContent);
System.Drawing.Image sourceImage = System.Drawing.Image.FromStream(ms, true);