我已经制作了一个简单的程序来添加,查看和更新要保存在mysql fieldtype mediumblob中的图像。当我使用INSERT语句来保存图像(.PNG类型)时,它成功地在我查看的时候,它有一个透明区域作为徽标的东西。但是当我更新;假设我想用新的PNG图像更改PNG图像,可以保存。但是当我查看时,PNG的透明区域将变为黑色.Jpg文件没有更新问题。更新现有blob时,只有PNG文件出现此问题。
有人可以帮我吗?
**插入代码
Dim sql As String
Dim mstream As New System.IO.MemoryStream()
pbImg.Image.Save(mstream, pbImg.Image.RawFormat)
Dim arrImage() As Byte = mstream.GetBuffer()
FileSize = mstream.Length
mstream.Close()
mstream = New System.IO.MemoryStream()
pbLogo.Image.Save(mstream, pbLogo.Image.RawFormat)
Dim arrImage2() As Byte = mstream.GetBuffer()
FileSize = mstream.Length
mstream.Close()
sql = "insert into malldir.tbldirectory (dir_image, dir_logo) values (@myimage, @mylogo);"
con.Open()
With cmd
.CommandText = sql
.Connection = con
.Parameters.AddWithValue("@myimage", arrImage)
.Parameters.AddWithValue("@mylogo", arrImage2)
.ExecuteNonQuery()
End With
更新代码是一回事。只需从insert语句更改为update语句。 我没有提供完整的代码,因为这是我在更新时遇到的主要部分。