Önce bir formumuzu oluşturalım. dikkat etmemiz gereken şey form takına enctype attribute sine multipart/form-data yazmak
<form href="urunler" method="post" enctype="multipart/form-data">
<input type="file" name="UrunResim">
<button type="submit">Ürün Ekle</button>
</form>
[Route("urunler")]
[HttpPost]
public IActionResult urunler(List<IFormFile> UrunResim)
{
string path = Path.Combine(this.Environment.WebRootPath, "Dosyalar");
if (!Directory.Exists(path))
{ Directory.CreateDirectory(path);
}
foreach (IFormFile postedFile in UrunResim)
{
string fileName = Path.GetFileName(postedFile.FileName);
using (FileStream stream = new FileStream(Path.Combine(path, fileName), FileMode.Create))
{
if (fileName.Contains(".png") || fileName.Contains(".jpg") || fileName.Contains(".pdf") || fileName.Contains(".doc") || fileName.Contains(".xls") || fileName.Contains(".txt"))
{
postedFile.CopyTo(stream);
bu alana diğer kodlarımızı yazabiliriz.
}
}
}
return View();
}
yükleyeceğimiz dosyaları wwwroot klasöründeki Dosyalar klasörüne atacaktır. Eyer böyle bir klasör oluşturmadıysanız otamatik bu klasörü oluşturur öyle atar. fileName.Contains(“.jpg”) gibi şeyler ise o dosyanın uzantını filtrelemek için yapılmıştır. yani png,jpg,pdf,xls,txt,dox dosya formatlarını indirebilir demektir.