Asp.NET Core – ‘Access to the path ‘X’ is denied’ Hatası ve Çözümü
Merhaba,
Asp.NET Core temelli bir proje üzerinde geliştirme yaparken dosya transfer işlemlerinde gözden kaçan basit bir durumdan dolayı almış olduğum bir hata üzerine siz değerli okuyucularımın ve keza şahsen benim aynı olası hatayla tekrar karşılaşma ihtimaline nazaran hızlıca çözüme erişebilmek için hatırlatıcı unsur olması dileğiyle konuyla ilgili bloğuma bir not bırakmak istedim.
Tabi, ilgili hatayı bir tek Asp.NET Core mimarisinde değil standart Asp.NET – MVC veyahut Windows Forms vs. temelli projelerde almanızda olasıdır. Nihayetinde gözden kaçırılan durum tüm çekirdeklerde aynı refleksin verilmesine sebep olacaktır. Dolayısıyla buradaki yönlendirme .NET Core’dan daha evrensel bir çözüm sunacaktır.
Hatamıza gelirsek eğer;
Access to the path ‘X’ is denied
şeklindedir. Hatta hatamızın görsel halinide aşağıda ele alırsak eğer;

Bu hata, “FileStream” nesnesi üzerinden herhangi bir dosyayı transfer etmeye çalıştığımız zaman muhtemelen gözden kaçan bir durumdan dolayı meydana gelmektedir.
Örneğin;
[HttpPost("[action]")]
virtual public IActionResult Upload()
{
try
{
IFormFileCollection files = Request.Form.Files;
files.ToList().ForEach(file =>
{
if (file.Length > 0)
using (FileStream stream = new FileStream("D:\", FileMode.Create))
{
file.CopyTo(stream);
}
});
return Ok();
}
catch (Exception ex)
{
throw ex;
}
}
yukarıdaki kod bloğunu ele alırsak eğer bu olası hata bizleri ağırlayacaktır.
Neden mi?
Aslında sorunun cevabı oldukça basit. “FileStream” nesnesi verilen dizinin yanında üzerinde işlem yapılacak olan dosyanın adınında belirtilmesini istemektedir. İşte sorun sadece bundan ibarettir.
[HttpPost("[action]")]
virtual public IActionResult Upload()
{
try
{
IFormFileCollection files = Request.Form.Files;
files.ToList().ForEach(file =>
{
if (file.Length > 0)
using (FileStream stream = new FileStream(Path.Combine("D:\", file.FileName), FileMode.Create))
{
file.CopyTo(stream);
}
});
return Ok();
}
catch (Exception ex)
{
throw ex;
}
}
Gerekli alanda dosya adınıda belirttiğimiz zaman uygulama sorunsuz çalışmaya devam edecektir.
İlgilenenlerin faydalanması dileğiyle…
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Tam umudum kalmamıştı ki bu yazı ile karşılaştım çok teşekkür ederim sayenizde hatam çözüldü. Allah ilminizi arttırsın
Yine tam 12 den. Gençay Hocam, emeklerinize ellerinize sağlık…