8 Haziran 2017 Perşembe

Resim Ekleme (File Upload) - Asp-



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();

Paylaş:

0 yorum:

Yorum Gönder