Veritabanına Resim Dosyası Eklemek (LINQ)

Veritabanında resimleri varbinary(max) alanında tutabiliriz. (Image alanı eskimiş artık varbinary kullanalım.)

tblTabloAdi tablomuz olsun, Resim de resmi sakladığımız varbinary(max) alanımızın adı. LinqToSql class’ı ile wizard kullanıp DataContextInstance adında bir DataContext de oluşturduğumuzu var sayalım.

Aşağıdaki kod bir resim dosyasını okur, byte dizisine dönüştürür ve veritabanına kaydeder.

string resimPath = @"resim.jpg";
 
FileInfo resimInfo = new FileInfo(resimPath);
long resimBuyukluk = resimInfo.Length;
 
FileStream fs = new FileStream(resimPath, FileMode.Open);
byte[] dizi = new byte[Convert.ToInt32(resimBuyukluk)];
int iBytesRead = fs.Read(dizi, 0, Convert.ToInt32(resimBuyukluk));
fs.Close();
 
tblTabloAdi entity = (from p in DataContextInstance.tblTabloAdis select p).First();
 
entity.Resim = new System.Data.Linq.Binary(dizi);
 
DataContextInstance.SubmitChanges();
Be Sociable, Share!

    Category: Csharp - C# - Comments Off on Veritabanına Resim Dosyası Eklemek (LINQ)

    Comments are closed.

    Back to top