在我的Windows应用程序中,我必须在Windows窗体PictureBox中显示图像,该图像将通过OpenFile对话框浏览,然后将PictureBox图像保存到Sql Server 2008 R2 Varbinary(Max)列并显示保存在Sql Server 2008 R2 Varbinary(Max)列中的图片使用 VB.NET 2010 到 PictureBox。
我使用以下代码将图片从物理驱动器加载到 PictureBox
Private Sub btnPicBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPicBrowse.Click
With Me.OpenFileDialog1
.FileName = ""
.Filter = "Image Files(*.BMP;*.JPG;*.JEPG;*.GIF)|*.BMP;*.JPG;*.JEPG;*.GIF|All files (*.*)|*.*"
.RestoreDirectory = True
.ValidateNames = True
.CheckFileExists = True
If .ShowDialog = Windows.Forms.DialogResult.OK Then
Me.PictureBox1.Image.Dispose()
Me.PictureBox1.Image = System.Drawing.Image.FromFile(.FileName)
Me.lblPicPath.Text = .FileName
End If
End With
End Sub
现在我必须将此图像保存到 SQL SERVER 2008 数据库 VarBinary (MAX) 列,然后使用 VB.NET 2010 将 Sql Server 2008 R2 Varbinary(Max) 列中保存的图片显示到 PictureBox。
感谢和问候
乔蒂莫伊
不久前在 youtube 上发现了一些很酷的方法,您创建一个函数来接收图片并将其转换为字节并将其保存到 SQLServer DB 中的字节,当您检索它时它将显示在图片框中。这是实现它的代码,并告诉我它是否有效...如果它确实投票给我的答案,请:
Public Function ConvertImage(ByVal myImage As Image) As Byte()
Dim mstream As New MemoryStream
myImage.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg)
Dim myBytes(mstream.Length - 1) As Byte
mstream.Position = 0
mstream.Read(myBytes, 0, mstream.Length)
Return myBytes
End Function
因此,如果您使用存储过程进行保存,只需将图片框中的图像作为参数传递,例如 pictureBox User.Image
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)