Trong bảng loại mysql MyISAM
có một cột Image
loại mediumblob
và lưu trữ hình ảnh đã chụp. Tôi có một số hình ảnh thú vị và có vấn đề. Một số hình ảnh là dữ liệu gradually losing
.Dữ liệu hình ảnh MySQL BLOB dần mất?
Field type
--------------------------
image mediumblob
my.ini
max allowd kích thước gói cài đặt max_allowed_packet = 8M
đây là vấn đề
Khi C#
ứng dụng lấy dữ liệu từ máy chủ mỗi khi các loại hình ảnh s mất dữ liệu dần dần và kích thước ngẫu nhiên. Tôi đã nhận được 10-12
hình ảnh xấu như thế này trong 100000+
dữ liệu hình ảnh.
Điều gì có thể là nguyên nhân của loại hành vi này? Bất cứ ai cũng có bất kỳ ý tưởng/giải pháp làm thế nào để sửa chữa/tránh vấn đề này.
Cập nhật 1:
byte Reading hình thức 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();
}
Tiết kiệm mảng byte vào cơ sở dữ liệu như dữ liệu blob trung bình. Khi lấy dữ liệu từ cơ sở dữ liệu tôi đúc các dữ liệu đọc
byte[] Data = (byte[])reader["Image"];
Nếu bạn lưu trữ hình ảnh trong cơ sở dữ liệu, bạn đang gonna có một thời gian xấu. Tại sao không lưu trữ chúng dưới dạng tệp thông thường? – Sarke
@niksonkantiPaul Tôi chỉ tò mò tại sao bạn lưu hình ảnh vào DB, và không chỉ là đường dẫn và hình ảnh vào một thư mục? – jcho360