ASP.NET MVC File Upload

Merhaba. Mvc'de file upload işlemlerine göz atalım. Projemizde upload yapacağımız controller ve view'ı oluşturduktan sonra html(view) kısmında formumuzu oluşturalım.

@using (Html.BeginForm("Index""Home"FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    @TempData["result"//Dosya upload sonucu burada yazacak.
    <div>
        <input type="file" name="file" class="button" />
        <input type="submit" value="Gönder" class="button" />
    </div>
}

Html kısmını bitirdikten sonra controller'da gerekli işlemlerimizi yapalım.

[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
    if (file != null && file.ContentLength > 0)
    {
        var path = Path.Combine(Server.MapPath("~/Upload_Edilecek_Klasörümüz"), file.FileName);
        file.SaveAs(path);
        TempData["result"] = "Güncelleme Başarılı.";
    }

    return View();
}

Burada dikkat edilmesi gereken nokta View'da file tipindeki input'un name'i ile Controllerda Action'ın aldığı HttpPostedFileBase tipindeki parametre adının aynı olmasıdır. Diğer dikkat edilmesi gereken nokta ise Upload yapılan klasöre yazma izninin verilmesidir. Evet işlemlerimiz bu kadar. Hepinize kolay gelsin.

YORUMLAR (7)
  1. BariscanYılmaz
    BariscanYılmaz - Cevapla
    Allah razı olsun :)
  2. Mehmet Yener YILMAZ
    Mehmet Yener YILMAZ - Cevapla
    Hocam elinize sağlık, birde ajax ile dosya yükleme işlemi örneği paylaşır mısınız ? mümkünse view üzerinde ayrıntılı yorum satırları ile birlikte...
  3. Serhat
    Serhat - Cevapla
    Çok teşekkür ederim sağolun.
  4. altunok
    altunok - Cevapla
    Elinize sağlık. Peki yüklendiğini “Progresbar” ile nasıl gösterebilirim?
    • Mehmet YAYLACI
      Mehmet YAYLACI - Cevapla
      Jquery progress bar diye aratırsanız bir sürü kütüphane mevcut. Beğendiğiniz bir tanesini kullanabilirsiniz.
  5. can
    elinize sağlık.Bir sorum olucaktı.İşlemin yapıldığı server a değil de baska bir server a yükletmem gerekirse (CDN sistemi yani) kodu path olayı nasıl ayarlanmalı ?
    • Mehmet YAYLACI
      Mehmet YAYLACI - Cevapla
      CDN servislerinde CDN sunucularına direkt yükleme yapmıyorsunuz. Siz kendi sunucunuza dosyalarınızı yüklüyorsunuz ama linkini CDN servisinin size verdiği yönerge doğrultusunda veriyorsunuz. CDN servisi dosyalarınızı kendi sunucularına otomatik olarak kopyalıyor.
YORUM FORMU