【发布时间】:2012-06-16 02:06:29
【问题描述】:
在 mysql MyISAM 表中,我有一个列类型 mediumblob 并将捕获的图像存储为 blob 数据。我得到了一些有趣且有问题的图像。部分图片为gradually losing 数据。
Field type
--------------------------
image mediumblob
my.ini最大允许数据包大小集max_allowed_packet = 8M
这就是问题
当C# 应用程序从服务器获取数据时,这种图像每次都会丢失随机大小的数据。我在100000+ 图像数据中得到了10-12 这样的坏图像。
这种行为的原因可能是什么?任何人都知道如何解决/避免这个问题。
更新 1:
从 PictureBox 中读取字节
MemoryStream ms = new MemoryStream();
byte[] ret = null;
try
{
picturebox.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] Data = new byte[ms.Length];
ms.Read(Data, 0, (int)ms.Length);
ret = byteData;
ms.Close();
}
将字节数组作为中等 blob 数据保存到数据库中。从数据库中检索数据时,我正在投射阅读器数据:
byte[] Data = (byte[])reader["Image"];
【问题讨论】:
-
如果您将图像存储在数据库中,您会遇到麻烦。为什么不将它们存储为常规文件?
-
@niksonkantiPaul 我只是好奇你为什么将图像保存到数据库中,而不仅仅是路径和图像到文件夹中?
标签: c# mysql image image-processing blob