从sql数据库里显示或者输出二进制图片
发布网友
发布时间:2022-04-10 01:59
我来回答
共2个回答
热心网友
时间:2022-04-10 03:29
不需要原图片,实际上你可以把它理解成文件流。所以说你只需要读取到数据库的二进制到然后解析还原成原图片就可以了。像你这种情况应该是还原的方法不对或者是二进制有问题。
这是我的一段你参照下看可以不:
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");
}
热心网友
时间:2022-04-10 04:47
给你个思路,你应该将值另存成图片,或读出二进制流后用图片显示控件显示吧。
具体操作我没做过sqlserver 的做过oracle txt类的追问我明白你的意思,但是我不知道具体怎么做
唉~ 头疼啊...