amerika gazete haberleri haberler
Yazılım

MVC ile UPLOAD İşlemleri

MVC Model View Controller ile resim ve dosya yükleme işleminin nasıl yapıldığını göreceğiz. Örneğin, bir e-ticaret sitesi yapıyorsunuz, ürünlerin resimlerinin ve varsa ek dosyalarının yüklenmesi konusunda upload özelliğini mutlaka kullanmanız gerekecektir. Burada ek upload sitelerinin kullanılması kesinlikle tavsiye edilmez. Imageshack gibi web siteleri üzerinden resimleri yükleterek link veren e-ticaret sistemleri bile gördüğümüz için, upload sistemini anlatırken bunu da hatırlatma ihtiyacı hissettim. Hiç bir sebep olmaksızın ek siteler kapanabilir veya sizin resimlerini temizleyebilir. Bu yüzden, resimlerinizin tamamını kendi sitenizde bulundurmanız gerekiyor.

Burada sadece upload işleminin yapılmasını göreceğiz. Tabiki, ileriki aşamalarda resimlerin boyutlandırılmasını ve dosyalar yüklenirken ilerleme çubuklarını (progress bar) yapımını göreceğiz. Burada işlemimiz 3 adımdan oluşmaktadır.

1. Dosyayı Kaydetme Bölümü

Öncelikle oluşturulacak olan formdan gelen dosyanın alınıp, isimlendirilip, kaydedilme işlemini yapmamız gerekiyor. Burada dikkat edilmesi gereken hususlardan bir tanesi, dosya işlemleri yapabilmek için gerekli olan “using System.IO;” kütüphanesini önce projemize eklememiz gerekiyor. Sonrasında “UploadEt” isimli bir method oluşturularak gelen dosyanın adını alıyoruz, hangi yola kaydedileceğini tanımlıyoruz ve dosyamızı kaydet diyoruz.

2. Dosya Yükleme Formu

Yukarda oluşturmuş olduğumuz ActionResult üzerinden sağ tıklayıp AddView deyip sayfamızı ekledikten sonra html formumuzu oluşturmaya başlıyoruz. Burada form üzerinde dikkat edeceğimiz bir şey var. Normalde formlarda enctype belirtmek zorunda değiliz. Çünkü normal formlarda sadece text gönderiyoruz. Şifre de olsa, mail adresi de olsa, isim de olsa, text dosyası da olsa, textarea da olsa sonuçta yazı gönderiyoruz formda. Ama burada dosya göndereceğimiz için forma, “multipart/form-data” belirtmemiz gerekiyor.

Html’de dosya alabilmek için tipi file olan bir input ekliyoruz ve formu da göndermek için bir submit ekliyoruz.

3. Klasörün İçindeki Dosyalarımız

Yukarda dosyamızı alacağımız html formumuzu oluşturduk. Sonrasında dosyayı alıp kaydedecek olan kodumuzu yazdık. Şimdi yapmamız gereken tek bir şey kaldı. O da klasörün içindeki dosyaları alıp göstermek.

Burada dosyayolu diye bir dizi tanımlıyoruz ve dosyalar klasörünün içindeki tüm dosyalarımızı alıp döngüye atıyoruz. Daha sonra dosya ismini “dosyam” isimli değişkene atıyoruz. Sonrasında ise, dosya jpg ise resim olarak yazdırıyor, değil ise default dosya resmini yazdırıyoruz.

Görüldüğü üzere çok basit bir şekilde bir kaç satır kod ile upload sistemimizi tamamlıyoruz.

İlgili Makaleler

Başa dön tuşu
İstanbul evden eve nakliyat izmir dijital ajans dijital pazarlama