دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۷
  • مرداد

جلسه ۱۹ : کار با فایل های استاتیک در ASP.NET Core

  • دسته‌بندی‌ها :
جلسه ۱۹ : کار با فایل های استاتیک در ASP.NET Core
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه :

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش asp.net core در خدمت شما دوستان هستیم .  در جلسه قبل این آموزش کار با استثناها و مدیریت خطاها را توضیح دادیم در این جلسه به کار با فایل های استاتیک در ASP.NET Core شامل میان افزار StaticFiles می پردازیم تا پایان این جلسه با ما همراه باشید.

      میان افزار Microsoft.AspNetCore.StaticFiles :

      به طور پیش فرض در برنامه ASP.NET Core نمی توان از فایل های استاتیک استفاده کرد . برای این منظور باید میان افزار Microsoft.AspNetCore.StaticFiles را در برنامه خود نصب کنیم .

       

      نصب بسته Microsoft.AspNetCore.StaticFiles در ASP.NET Core :

      در ASP.NET Core 2.x بسته میان افزار Microsoft.AspNetCore.StaticFiles در متا پکیج Microsoft.AspNetCore.All گنجانده شده است، بنابراین ما لازم نیست آن را به طور جداگانه نصب کنیم.

      ولی برای نصب میان افزار staticfiles در برنامه ASP.NET Core 1.x، مدیر بسته مرجع NuGet را با کلیک راست روی پروژه در solution explorer باز کنید و Manage NuGet Packages را انتخاب کنید .

      عبارت staticfiles را در کادر جستجو وارد کنید. در ادامه میان افزار Microsoft.AspNetCore.StaticFiles به صورت زیر نشان داده می شود.

      نصب میان افزار StaticFiles - کار با فایل های استاتیک در ASP.NET Core

      نصب میان افزار StaticFiles

      برای نصب آن روی دکمه Install در قسمت راست کلیک کنید. پس از نصب، Microsoft.AspNetCore.StaticFiles به صورت خودکار در فایل project.json قرار می گیرد.

      staticfiles

      staticfiles

      استفاده از میان افزار StaticFiles :

      به طور پیش فرض تمام فایل های استاتیک یک برنامه وب باید در wwwroot  واقع در ریشه پروژه قرار گیرد. برای درک این مطلب، ابتدا یک صفحه با نام  default.html ساده در پوشه wwwroot با محتوای زیر ایجاد کنیم.

      فایل Default.html

      فایل Default.html

      برای دسترسی به فایل استاتیک default.html، باید میان افزار StaticFiles را در متد Configure فایل Startup.cs اضافه کنیم، همانطور که در زیر نشان داده شده است.

      مثال : 

      همانطور که می بینید ، متد app.UseStaticFiles میان افزار StaticFiles را به درخواست می افزاید. UseStaticFiles یک متد توسعه یافته است که در میان افزار StaticFiles موجود است تا ما بتوانیم به راحتی آن را پیکربندی کنیم.

      حال مرورگر را باز کرده و درخواست” http://localhost:<port>/default.html ” را ارسال می کنیم که برنامه default.html را به عنوان پاسخ همانند زیر نمایش می دهد.

      staticfiles

      staticfiles

       

      به این ترتیب ما می توانیم به هر فایل دیگری که در پوشه wwwroot یا زیرمجموعه های آن ذخیره شود، دسترسی داشته باشیم . برای مثال، فایل test.js زیر را در پوشه wwwroot در نظر بگیرید.

      فایل test.js

      فایل test.js

       

      اکنون می توانیم به این فایل با ارسال درخواست ” http: //localhost:<port>/test.js ” دسترسی داشته باشیم.

      نمایش فایل test.js

      نمایش فایل test.js

       

      اکنون فرض کنید می خواهید فایل ها را از خارج از پوشه ریشه وب (wwwroot) مورد استفاده قرار دهید . به عنوان مثال، میخواهید به تصاویری که در پوشه Images همانند زیر هستند دسترسی داشته باشید.

      پوشه خارج از wwwroot

      پوشه خارج از wwwroot

       

      در این صورت ،باید پارامتر StaticFileOptions را در متد  UseStaticFiles مشخص کنید تا تصاویر را از پوشه Images دریافت کنید، همانطور که در زیر نشان داده شده است.

      مثال : 

      همانطور که می بینید، از FileProvider برای مشخص کردن پوشه Images که در آن فایل های استاتیک وجود دارند، استفاده می کنیم. گزینه RequestPath مسیر نسبی URL را نشان می دهد که به پوشه استاتیک مراجعه می کند.

       

      تنظیم فایل پیشفرض :

      همانطور که در بالا مشاهده کردید ، توانستیم به فایل های default.html و test.js در هر درخواستمان دسترسی داشته باشیم. با این حال، اگر بخواهیم فایل html پیش فرض را در مسیر root بگذاریم باید چه کنیم؟

      در حال حاضر، هنگامی که درخواست ” <HTTP://localhost:<port ” را ارسال می کنیم، نتیجه زیر نمایش داده می شود:

      بدون فایل پیشفرض

      بدون فایل پیشفرض

       

      برای دسترسی به فایل default.html درخواست “<root http: // localhost: <port” را به سرور می فرستیم، با استفاده از متد UseDefaultFiles قبل از UseStaticFiles در متد Configure میتوانیم فایل پیشفرض را مشخص کنیم :

      مثال : 

      متد UseDefaultFiles به طور خودکار فایلهای default.html و یا index.html ، defaul.htm و یا index.htm را در درخواست ” <http: // localhost: <port”  قرار می دهد که در اینجا فایل defaul.html موجود است پس نتیجه به صورت زیر می شود:

      فایل پیشفرض default.html

      فایل پیشفرض default.html

      میان افزار FileServer :

      میان افزار FileServer ترکیبی از ویژگی های کاربردی UseDefaultFiles و میان افزار UseStaticFiles است. بنابراین، به جای استفاده از هر دو میان افزار ، میتوان فقط UseFileServer را در متد Configure استفاده کرد .

      UseFileServer = UseDefaultFiles + UseStaticFiles

      مثال : 

       

      در بخش بعدی در رابطه با انواع برنامه های NET Core. صحبت خواهیم کرد .

      QR:  جلسه ۱۹ : کار با فایل های استاتیک در ASP.NET Core
      به اشتراک بگذارید


      دیدگاه کاربران
      1. تصویر کاربر