从sql数据库里显示或者输出二进制图片

现有sql数据库一个,里面有一张表格为BADGE_V,字段BADGE_DISPPHOTO的设定为varbinary(18).想要通过其已存的二进制照片来显示原本照片,或者... 现有sql数据库一个,里面有一张表格为BADGE_V, 字段BADGE_DISPPHOTO的设定为varbinary(18).
想要通过其已存的二进制照片来显示原本照片,或者将他们输出也可以.
通过好几天的搜索,最后只能显示成什么都没有的这样.
唉~ 大神帮忙啊!
数据库的原本表哥图片奉上如下:

搜索好几天后也只能显示到这里...什么都看不到...

究竟是不是一定要有原来的图片才可以显示
还是只要这些二进制号码就可以了???
展开
 我来答
珊的白S
2013-10-17 · 超过10用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:27.3万
展开全部
不需要原图片,实际上你可以把它理解成文件流。所以说你只需要读取到数据库的二进制到然后解析还原成原图片就可以了。像你这种情况应该是还原的方法不对或者是二进制有问题。
这是我的一段你参照下看可以不:
byte[] MyData = new byte[0];
if (MyData != null && !Row.GetString("CstSignature").IsNullOrEmpty())
{
MyData = (byte[])Row["CstSignature"];//读取第一个图片的位流
int ArraySize = MyData.GetUpperBound(0);//获得数据库中存储的位流数组的维度上限,用作读取流的上限

FileStream fs = new FileStream(@"c:/00.jpg", FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(MyData, 0, ArraySize);
fs.Close(); //-- 写入到c:/00.jpg。
(this.FindControl("picPhoto") as StarPictureBox).Image = Image.FromFile("c:/00.jpg");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HaiziCattle
2013-10-17 · TA获得超过125个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:193万
展开全部
给你个思路,你应该将值另存成图片,或读出二进制流后用图片显示控件显示吧。
具体操作我没做过sqlserver 的做过oracle txt类的
追问
我明白你的意思,但是我不知道具体怎么做
唉~ 头疼啊...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式