Posted in

ASP.NET Core MVC’de wwwroot Dışındaki Klasörden Dosya Çağırma

ASP.NET Core MVC, statik dosyaları (resimler, css dosyaları, JavaScript dosyaları vb.) genellikle wwwroot klasöründen servis eder. Ancak bazı durumlarda, özel klasörlerdeki dosyalara da erişim sağlamak gerekebilir. Örneğin, Yonetim adında bir klasör oluşturup bu klasör altındaki dosyaları yönetim panelinde kullanabiliriz.

Adım 1: Gerekli Paketleri Projeye Dahil Etme

İlk olarak, statik dosyaları yönetmek için gerekli olan Microsoft.Extensions.FileProviders paketini projenize eklemelisiniz:

dotnet add package Microsoft.Extensions.FileProviders

Adım 2: Dosya Yöneticisi Oluşturma ve Ayarlama

Program.cs dosyanıza gidin ve UseStaticFiles() yöntemi altına özel bir dosya yöneticisi oluşturun ve ayarlayın:

using Microsoft.Extensions.FileProviders;
using System.IO;

var staticFileOptions = new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider(
        Path.Combine(app.Environment.ContentRootPath, "Yonetim")),
    RequestPath = "/Yonetim"
};

app.UseStaticFiles(staticFileOptions);

Bu kod, Yonetim adlı bir klasörü projenizin kök dizininden (ContentRootPath) alır ve bu klasör altındaki dosyaları /Yonetim yolundan sunar.

Adım 3: Dosyaları Kullanma

Şimdi, Yonetim klasörü altına yerleştirdiğiniz dosyaları, Razor sayfalarınızda veya HTML dosyalarınızda kullanabilirsiniz. Örneğin, bir görüntüyü img etiketi içinde kullanmak için:

<img src="/Yonetim/resimler/logo.png" alt="Logo">

veya bir bağlantı için:

<a href="/Yonetim/dosyalar/rapor.pdf">Raporu İndir</a>

Bu şekilde, statik dosyalarınızı wwwroot dışında herhangi bir klasörden kullanabilir ve yönetebilirsiniz.

Sonuç

ASP.NET Core MVC’de wwwroot dışındaki bir klasörden dosya çağırmak oldukça basittir ve yukarıdaki adımları takip ederek kolayca yapabilirsiniz. Bu yöntemle, özel uygulama bölgeleri veya yönetim panelleri için statik dosya yönetimini daha etkin bir şekilde sağlayabilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir