مشخصات مقاله
-
1069
-
0.0
-
2385
-
0
-
0
آموزش MVC Core-آموزش ایجاد Static Files در MVC Core
آموزش MVC Core-آموزش ایجاد Static Files در MVC Core
مشکل
چگونه می توان محتوای استاتیک (HTML, CSS, JavaScript, Images) از برنامه ASP.NET Core ارائه داد.
راه حل
متد Configure() از کلاس Startup برای استفاده از middleware برای فایل های استاتیک(static files) تغییر دهید:
public void Configure(
IApplicationBuilder app,
IHostingEnvironment env)
{
app.UseStaticFiles(); // for files in wwwroot folder
app.UseStaticFiles(new StaticFileOptions() // for files in content folder
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "content")),
RequestPath = new PathString("/outside-content")
});
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello Static Files");
});
}
محتوای استاتیک را به www root و یک پوشه محتوا سفارشی اضافه کنید.
دسترسی به فایل ها با استفاده از آدرس سایت.
- http://[site-address]/hello.html
- http://[site-address]/outside-content/info.html
مباحثه
فایل های استاتیک به طور پیش فرض در پوشه wwwroot بکار می روند و اگر محتوایی در پوشه ریشه (root folder) شما وجود داشته باشد می تواند در دسترس باشد. پوشه پیش فرض را می توان از طریق WebHostBuilder در Program.cs با استفاده از کد زیر تغییر داد.
UseWebRoot("public") // changed wwwroot to public
فایل های استاتیک نیز می توانند از پوشه های خارج از wwwroot با عبور از StaticFileOptions به middleware و تنظیم FileProvider و RequestPath استفاده شوند. این مفید است زمانی که شما می خواهید دسترسی مجاز(authorized) به فایل ها داشته باشید.به عنوان مثال بازگشت نتیجه متد FileResult از یک کنترلر امن.
شما می توانید Source Code این مقاله را از لینک زیر دانلود کنید:
https://github.com/TahirNaushad/Fiver.Asp.StaticFiles
شما دانشجویان گرامی می توانید فایل مربوط به این آموزش را از قسمت پایانی این مقاله دانلود نمایید .