2016-04-11 15 views
0

Sınıfımdan geçen "DataGridViewImageColumn" adlı ColumnType ve sahip olduğum sınıf sorgusuyla veri kılavuzumda bulunan resimlerimi kaydetmeye çalışıyorum.DataGridViewImage kaynağından Veriye Kaydetme

İşte kodum.

// Class name 
public byte[] Image; 

// Getting the value image from datagridview 
int i; 
for(...){ 
byte[] image = (byte[])dgv.Rows[i].Cells[7].Value; 
MemoryStream ms = new MemoryStream(image); 
belsalesquote.Image = Image.FromStream(ms); 
} 

Hata Listesi "Dolaylı olarak 'byte []'

benim veritabanı içinde My sütun tipi 'resim' eşittir.

cevap

3
türünü 'System.Drawing.Image' dönüştürülemez diyor

sen

//byte[] image = (byte[])dgv.Rows[i].Cells[7].Value; 

    Image image = (Image)dgv.Rows[i].Cells[7].Value; 

    using (MemoryStream m = new MemoryStream()) 
    { 
     image.Save(m, image.RawFormat); 
     byte[] imageBytes = m.ToArray(); 

     // Convert byte[] to Base64 String 
     string base64String = Convert.ToBase64String(imageBytes); 
    } 

bayt doğrudan görüntü dönüştürmek edemem Yani db [base64String] kaydedebilirsiniz

+0

[base64String] 'te ne demek istiyorsunuz? Sütun tipimi görüntüden [base64String] olarak değiştireceğim ne demek istediniz? :) –

+0

string base64String = Dönüştür .ToBase64String (imageBytes); bir değişkeni, herhangi bir veri tabanına herhangi bir NVARCHAR tipinde saklayabilmeniz için herhangi bir ad verebilirsiniz –

İlgili konular