4 Eylül 2018 Salı

MVC Çoklu Resim Ekleme

MVC projelerinde çoklu resim ekleme kodları aşağıda yer almaktadır.

 View  

 <input type="file" name="resimDeneme" multiple="multiple" class="form-control" />
 <button type="submit" value="Yukle" class="btn green">Kaydet</button>

Dikkat edilmesi gereken iki kısım bulunmakta. İlk olarak "name" özelliği, ikinci olarak çoklu resim ekleyeceğimizi belirten multiple="multiple" .

Controller



 [HttpPost]
        public ActionResult ResimEkle(HttpPostedFileBase[] resimDeneme)
        {
         
            if (resimDeneme != null)
            {

                try
                {
                    foreach (HttpPostedFileBase item in resimDeneme)
                    {
                        string dosyaAdi = Guid.NewGuid().ToString() + Path.GetExtension(item.FileName);
                        item.SaveAs(Server.MapPath("~/Content/Resimler/") + dosyaAdi);
                        Resim rs = new Resim();
                        rs.resimAd = dosyaAdi;
                       
                        db.Resims.Add(rs);
                       
                        db.SaveChanges();
                    }
                   
                }
                catch (Exception)
                {
                 
                }

                return Redirect("/Resim/Index" );
            }

Controller kısmındaki HttpPostedFileBase[] bize bir resim dizisinin geleceğini gösteriyor. resimDeneme ise dizinin ismi ve View'de  belirttiğimiz class'a verdiğimiz isimle aynı olmalı.

Daha sonra liste dolu mu ona bakıyoruz ve listenin elemanlarını foreach ile tek tek kaydediyoruz.  Guid.NewGuid()  resimleri  tekrar isimlendirmek için kullanılan bir yapı. İstenirse kullanılmayıp sadece item.Filename kullanılabilir.






Paylaş:

0 yorum:

Yorum Gönder