asp.netcore 關於靜態文件的訪問權限控制(UseStaticFiles)

通常一般的js、css、image都需要公開訪問權限。
.那麼如何在asp.net core中進行開放這個權限呢?具體微軟官網有說明,網址如下。

微軟文檔說明

說的很細緻,但是一般人沒耐心去從頭到尾看。這裏簡單說明一下

wwwroot中的文件,可以在Startup類的Configure 方法中添加以下語句:
app.UseStaticFiles();

而外需要說明的是,如果該靜態文件不再wwwroot文件夾下面怎麼辦?
比如文件目錄如下,現在我們需要訪問這個文件【banner1.svg】
wwwroot
–css
–images
–js
MyStaticFiles
–images
----banner1.svg*
可以添加一下代碼,開放文件夾【MyStaticFiles】下面子文件的訪問權限

public void Configure(IApplicationBuilder app)
{
    app.UseStaticFiles(); // For the wwwroot folder

    app.UseStaticFiles(new StaticFileOptions
    {
        FileProvider = new PhysicalFileProvider(
            Path.Combine(Directory.GetCurrentDirectory(), "MyStaticFiles")),
        RequestPath = "/StaticFiles"
    });
}

但是注意了,這個【RequestPath = “/StaticFiles”】實際提供的是一個別名,
實際的訪問路徑已經不再是

<img src="~/MyStaticFiles/images/banner1.svg" alt="ASP.NET" class="img-responsive" />

而變成了

<img src="~/StaticFiles/images/banner1.svg" alt="ASP.NET" class="img-responsive" />

另外 app.UseFileServer 包含了以下三種功能:

  1. 靜態文件權限(app.UseStaticFiles())
  2. 默認文件設置(app.UseDefaultFiles();)
  3. 是否開放目錄訪問(app.UseDirectoryBrowser)

以上內容,純屬搬運。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章