为什么我不能在 mysql 中存储 20 KB 的图像
Why cant i store 20 kilibytes image in mysql
我使用 MysqlConnector for .net 使用以下代码
在 mysql 的 tinyblob
字段中存储缩略图大小的图像(小于 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
问题是当我存储图像时,它没有保存所有数据。当我尝试检索并开始出现错误时,这一点很明显。
调查错误,我简单地将字段大小增加到 longblob
,之后工作正常。
为什么我不能在 tinyblob 字段中存储 20KB 的图像?
TINYBLOB 只能容纳 256 字节;您至少需要一个普通的 BLOB,它可以存储 64KB。
http://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html
我使用 MysqlConnector for .net 使用以下代码
在 mysql 的tinyblob
字段中存储缩略图大小的图像(小于 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
问题是当我存储图像时,它没有保存所有数据。当我尝试检索并开始出现错误时,这一点很明显。
调查错误,我简单地将字段大小增加到 longblob
,之后工作正常。
为什么我不能在 tinyblob 字段中存储 20KB 的图像?
TINYBLOB 只能容纳 256 字节;您至少需要一个普通的 BLOB,它可以存储 64KB。
http://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html