我找不到有关如何将图像存储到BLOB中的有用代码,请帮我一些代码,还可以在GUI中将这些图像从MySQL显示到我的桌面窗格中吗?
如果应用程序需要的图像(即JPG不同,PNG等)在数据库驱动的应用程序引用,应该将这些图片只是被存储在一个数据库中引用它们的路径下的文件系统,还是应该图像实际上存储在数据库为BLOBS?
我tinyblob使用以下代码使用MysqlConnector for .net在mysql 中的字段中存储缩略图大小的图像(少于50kb)
Dim imgCov As New ImageConverter()
Dim imgArray As Byte() = DirectCast(imgCov.ConvertTo(pictureBox1.Image , GetType(Byte())), Byte())
Try
Using conn As New MySqlConnection(conStr)
conn.Open
Dim sql As String ="Insert Into Services(Name,Code,Emp_ID,Image) Values(@Name,@Code,@Emp_ID,@Image)"
Using cmd As New MySqlCommand(sql,conn)
cmd.Parameters.Add("@Name", MySqlDbType.VarChar, 45).Value ="Ironing"
cmd.Parameters.Add("@Code", MySqlDbType.VarChar, 45).Value ="IRN"
cmd.Parameters.Add("@Emp_ID", MySqlDbType.Int32).Value =1
cmd.Parameters.Add("@Image", MySqlDbType.LongBlob, 100).Value=imgArray
cmd.ExecuteNonQuery ()
End Using
End Using
MsgBox("Insert Complete")
Catch ex As Exception
MsgBox(ex.Message)
End Try
Run Code Online (Sandbox Code Playgroud)
问题是当我存储图像时,它不会保存所有数据.当我尝试检索时,这很明显,我开始收到错误.
调查错误,我简单地增加了longblob后工作正常的字段大小.
那么为什么我不能在微小的野外存储20KB的图像呢?
我想编写一个程序,它将使用java备份MySQL服务器中的整个驱动器,但我很困惑.
我如何创建表(什么数据类型?),如何插入行应该是主键,以及每个文件的最大大小应该是多少?
如果您有任何建议请帮助我.谢谢你节省时间.