Projeye resim eklemek genel olarak iki aşamadan oluşuyor. Veri tabanına ismini-yolunu kaydetmek ve piksel olarak resimleri kaydetmek. Aynı resimlerin farklı boyutlarda kullanılması için orta-büyük-küçük şeklinde farklı formatlar tanımlanıyor. Bu kodlar genelde butonun click'inde try catch bloklarının içine yazılmakta. Bu kodların çalışması için ilk olarak projeye System-IO kütüphanesi eklenmeli.
if(Path.GetExtension(fu_urunresmi.FileName)==".png" { String imageName = Path.GetFileNameWithoutExtension(fu_urunresmi.FileName) + "-" + Guid.NewGuid() + "-" + Path.GetExtension(fu_urunresmi.FileName);Bu satırlarda kullanılan Guid eklenen resmin isim kontrolünü yapmakta ve aynı isimli resimler eklenmeye çalışıldığında hata vermemesi için resmin isminin sonuna random değerler atamakta.
System.Drawing.Image img = System.Drawing.Image.FromStream(fu_urunresmi.FileContent);Image tanımlanırken dikkat edilmesi gereken nokta kullanılacak kütüphanenin belirtilmesidir. ProjeyeSystem.Drawingkütüphanesi eklenip bu kullanılsın denmeli. İki farklı kütüphanede de var, karışıklık çıkarır.
Bitmap kucukResim = new Bitmap(img, 20, 20); Bitmap ortaResim = new Bitmap(img, 30, 30); Bitmap buyukResim = new Bitmap(img, 50, 50);
kucukResim.Save(MapPath("~/images/kucuk/" + imageName)); ortaResim.Save(MapPath("~/images/orta/" + imageName)); buyukResim.Save(MapPath("~/images/buyuk/" + imageName));
Resim burada farklı boyutlarda piksellere bölünüyor ve proje dizinine yolları ekleniyor. Resmin projede oluşturulduğu kısım burasıdır. Aşağıda ise veritabanına isminin kaydetme yolları bulunmakta.
1. Object[,] icerik={{@imageName,imageName}}
con.calistir(icerik,"procedur ismi")
2. fu_urunresmi.SaveAs(Server.MapPath("~/images/" + fu_urunresmi.FileName));
SqlCommand cmdmekle = new SqlCommand("insert into urun
(urunResmi) values('" + fu_urunresmi.FileName + "')", baglan.baglan());
cmdmekle.ExecuteNonQuery();
0 yorum:
Yorum Gönder