论坛里有仁兄问显示数据库中图片的代码,把我的代码贴上去后,那位仁兄竟然返回一个错误,
PictureBox1.Image = Image.FromStream(MS)
这句话出错,提示“参数错误”
查了下资料,应该是图片在导入数据库时产生的问题。于是拿自己的代码作测试,原代码如下:
FS = New FileStream(mFileInfo.FullName, FileMode.Open, FileAccess.Read)
ReDim BT(FS.Length)
FS.Read(BT, 0, FS.Length) ‘关键就是这里FS.Close()
FS = Nothing SqlConn.InsertPic(tbXmName.Text, cbType.Text, cbSubType.Text, BT)
BT = Nothing‘记录成功个数intInTotal += 1
如果是FS读取字节长度是FS.Length,则PictureBox显示图片时,都不会出错,但是,如果改为
FS.Read(BT, 0, FS.Length - 1)
则读取Jpg和Bmp格式的图片时也正常,但如果是Gif格式图片,就不正常了,直接提示“参数错误”,原因可能就是Gif格式结尾要保留一个空字节结束标示的判断。