比如图片文件夹绝对路径为D:\IMAGE,数据库列“照片”中存的是文件名
那在输出时,需要将路径与文件名拼接起来,做为html的img元素,
比如假设rs为结果集,以asp为例:
dim imgpath
imgpath="D:\IMAGE\"
response.write("<img src='" &imgpath &rs("照片") &"'>)
不需要原图片,实际上你可以把它理解成文件流。所以说你只需要读取到数据库的二进制到然后解析还原成原图片就可以了。像你这种情况应该是还原的方法不对或者是二进制有问题。这是我的一段你参照下看可以不:
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")
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)