21 Eylül 2018 Cuma

.Net Core File Upload

.Net Core kullanarak dosyaları karşıya yüklemenin bir çok yolu vardır.
Benim şimdiye kadar kullandığım en basit yol aşağıda bahsettiğim şekilde. Daha basit bir yol bulursam bu kodu güncelleyeceğim.

view (cshtml) :


<form method="post" asp-action="Upload" asp-controller="Home" enctype="multipart/form-data">
    <input type="file" name="file" />
    <input type="submit" value="upload"/>
</form>


controller(cs) :

Eğer Dosyayı uygulamınızda bir dizine yüklemek istiyorsanız, webroot yolunu almak için IHostingEnvironment'i kullanmalısınız.


 public class HomeController : Controller
    {
        private readonly IHostingEnvironment _environment;

        public HomeController(IHostingEnvironment environment) {_environment = environment; }

        public IActionResult Upload()
        {
            return View();
        }

        [HttpPost]
        public async Task<IActionResult> Create(IFormFile Getfile)
        {
           string fileName = Guid.NewGuid().ToString();
           if (Getfile != null)
           {
               var Upload = Path.Combine(_environment.WebRootPath, "Dosya Yolu",fileName);
               Getfile.CopyTo(new FileStream(Upload, FileMode.Create));
           }
            return View();
        }
    }


Umarım faydalı olmuştur...