将图像保存到 SQL Server

问题描述 投票:0回答:1

我希望将图像保存到 SQL Server 数据库。将图像加载到DevExpress图片框中,可以使用

找到图像的完整路径和名称
filename = userPicture(GetLoadedImageLocation)

我还发现了一个将图像转换为二进制格式以准备上传到 SQL Server 的函数。

Public Function ByteToImage(ByVal blob() As Byte) As Bitmap
    Dim mStream As New MemoryStream
    Dim pData() As Byte = DirectCast(blob, Byte())

    mStream.Write(pData, 0, Convert.ToInt32(pData.Length))

    Dim bm As Bitmap = New Bitmap(mStream, False)
    mStream.Dispose()

    Return bm
End Function

我的问题是以正确的格式将正确的值传递给这个函数。一旦获得返回值,我就可以将其作为 blob 保存到数据库中。

sql-server image blob
1个回答
0
投票

所以我的最终解决方案如下。

Private Sub userImageSave_Click(sender As Object, e As EventArgs) Handles userImageSave.Click
Dim fileName As String
Dim myPic As Byte()
fileName = userPicture.GetLoadedImageLocation
myPic = ImageHandler(fileName)
SQL.AddParam("@User", LogUser)
SQL.AddParam("@image", myPic)
SQL.ExecQuery("UPDATE SystemUser SET SystemU_image = @image WHERE SystemU_Userid = @User")

结束子

公共函数 ImageHandler(ByVal FileName As String) As Byte() Dim fi 作为新文件信息(文件名) Dim imgStream As Stream = fi.OpenRead Dim imgData(imgStream.Length) 作为字节 imgStream.Read(imgData, 0, fi.Length) 返回图像数据 结束功能

© www.soinside.com 2019 - 2024. All rights reserved.