我使用以下代码在数据库中保存了图像。
ofd.ShowDialog()
vrPicHolder = IO.File.ReadAllBytes(ofd.FileName)
Dim drPic As DataRow
drPic = DsPic.tblPicTest.NewRow
drPic.Item("Picture") = vrPicHolder
DsPic.tblPicTest.Rows.Add(drPic)
taPic.Update(DsPic.tblPicTest)
现在我想在图片框中显示此图片。我试过了
PictureBox1.Image = Image.FromFile(vrPicHolder)
但它说无法将Byte()转换为字符串。请告知如何加载此图片。 谢谢 Furqan
答案 0 :(得分:6)
您正在调用的方法需要一个字符串,该字符串是图像的文件名。您需要将图像的文件名传递给BMP,GIF,JPEG,PNG或TIFF格式。
Image.FromFile Method (String)
你应该做的是:
Dim pictureBytes as New MemoryStream(vrPicHolder)
PicutureBox1.Image = Image.FromStream(pictureBytes)
答案 1 :(得分:1)
这是因为Image.FromFile方法期望FilePath为String。就像从某个给定路径导入文件一样。参见Image.FromFile Method (String)
Image.FromStream Method (Stream)是解决此问题的方法。
还有一点,您不应该将完整的Image设置为数据库。而是将图像保存到某个物理路径中,并从数据库中引用此路径。
答案 2 :(得分:0)