ASP.NET Core-এ Static Files Middleware ব্যবহৃত হয় স্ট্যাটিক ফাইল যেমন HTML, CSS, JavaScript, ইমেজ ইত্যাদি পরিবেশন (serve) করার জন্য। ডিফল্টভাবে, ASP.NET Core শুধুমাত্র স্ট্যাটিক ফাইল পরিবেশন করার জন্য নির্ধারিত একটি নির্দিষ্ট ফোল্ডার থেকে কাজ করে। এই ফোল্ডারটি হলো wwwroot। Static Files Middleware সেটআপ এবং কনফিগার করে আপনি সহজেই স্ট্যাটিক ফাইল পরিবেশন করতে পারেন।
Static Files Middleware হলো ASP.NET Core পাইপলাইনে একটি কম্পোনেন্ট, যা স্ট্যাটিক ফাইল পরিবেশন করার কাজ করে। এটি একটি HTTP রিকোয়েস্টের URI-র মাধ্যমে নির্দিষ্ট ফাইল লোকেশন থেকে ফাইল সার্ভ করে।
ASP.NET Core প্রজেক্টে ডিফল্টভাবে একটি wwwroot ফোল্ডার থাকে, যেখানে স্ট্যাটিক ফাইলগুলো রাখা হয়। Static Files Middleware এই ফোল্ডার থেকে ফাইল সার্ভ করে।
Static Files Middleware যুক্ত করতে Program.cs
ফাইল আপডেট করতে হবে।
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
// Static Files Middleware যোগ করা
app.UseStaticFiles();
app.Run();
ডিফল্টভাবে, wwwroot ফোল্ডারের ভেতরে রাখা ফাইলগুলো সরাসরি ব্রাউজার থেকে অ্যাক্সেসযোগ্য। উদাহরণস্বরূপ:
wwwroot ফোল্ডারে একটি HTML ফাইল যোগ করুন: wwwroot/index.html ফাইল তৈরি করুন:
<!DOCTYPE html>
<html>
<head>
<title>Static File Example</title>
</head>
<body>
<h1>Hello, Static Files!</h1>
</body>
</html>
https://localhost:5001/index.html
যদি wwwroot এর বাইরে অন্য কোনো ফোল্ডার থেকে স্ট্যাটিক ফাইল পরিবেশন করতে চান, তাহলে সেই ফোল্ডারটি Middleware-এ যুক্ত করতে হবে।
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "StaticFiles")),
RequestPath = "/files"
});
উপরের কোডটি StaticFiles নামে একটি ফোল্ডারকে স্ট্যাটিক ফাইলের উৎস হিসেবে যুক্ত করবে। এখন ব্রাউজারে অ্যাক্সেস করতে হবে:
https://localhost:5001/files/<filename>
ডিফল্টভাবে index.html
ফাইলকে অ্যাপের ডিফল্ট ফাইল হিসেবে পরিবেশন করা হয়। যদি অন্য কোনো ফাইলকে ডিফল্ট ফাইল হিসেবে সেট করতে চান:
app.UseDefaultFiles(new DefaultFilesOptions
{
DefaultFileNames = new List<string> { "home.html" }
});
app.UseStaticFiles();
ডিরেক্টরি ব্রাউজিং চালু করতে:
app.UseDirectoryBrowser(new DirectoryBrowserOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "StaticFiles")),
RequestPath = "/files"
});
এখন https://localhost:5001/files
এই URL-এ ব্রাউজিং সক্ষম হবে।
Static Files Middleware ASP.NET Core অ্যাপ্লিকেশনে স্ট্যাটিক ফাইল ব্যবস্থাপনা সহজ এবং কার্যকর করে তোলে। এটি ওয়েব অ্যাপ্লিকেশনের জন্য স্ট্যাটিক রিসোর্স সরবরাহ করার একটি অপরিহার্য উপাদান।
common.read_more