天天看點

asp.net core 之靜态檔案目錄的操作文章前言asp.net core項目靜态檔案如何将靜态檔案注入到項目中 如何使用自己的檔案路徑 如何浏覽目錄的檔案與檔案夾

  之前寫了一篇關于模拟登入的文章,自我感覺内容不太豐富,今天的這篇文章,希望在内容上能豐富些。本人缺少寫文章的經驗,技術上也是新手,但我會努力的,希望大家多多支援小弟。

  建立一個asp.net core 項目的靜态檔案一般是放在項目目錄下wwwroot檔案夾,檔案目錄如下。

  

asp.net core 之靜态檔案目錄的操作文章前言asp.net core項目靜态檔案如何将靜态檔案注入到項目中 如何使用自己的檔案路徑 如何浏覽目錄的檔案與檔案夾

  在startup.cs檔案的Configure方法中寫入:

  app.UseStaticFiles();

  這方法的預設路徑正是上面所說的wwwroot目錄。

app.UseStaticFiles(new StaticFileOptions()

{

  FileProvider = new PhysicalFileProvider(

  Path.Combine(Directory.GetCurrentDirectory(), @"MyStaticFiles")),

  RequestPath = new PathString("/StaticFiles")

});

  這時候我們運作一下然後輸傳入連結接看到以下效果

asp.net core 之靜态檔案目錄的操作文章前言asp.net core項目靜态檔案如何将靜态檔案注入到項目中 如何使用自己的檔案路徑 如何浏覽目錄的檔案與檔案夾

  這時候我們知道FileProvider是指定路徑,RequestPath是将對外的路徑重寫。即可用 StaticFiles來通路而不是MyStaticFiles。

  我覺得這樣位址重寫的好處是可以保證項目的結構不被暴露,有一定的安全性吧。

  在出于安全問題預設情況下是不允許浏覽目錄的檔案和檔案夾的,但是如果你需要浏覽的話可以用以下方法。

  首先要在startup.cs檔案的ConfigureServices方法中加入:

    services.AddDirectoryBrowser();  

  然後在startup.cs檔案的Configure方法中寫入:

app.UseDirectoryBrowser(new DirectoryBrowserOptions()

  Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\images")),

  RequestPath = new PathString("/wwwroot/images")

然後可以看到以下效果

asp.net core 之靜态檔案目錄的操作文章前言asp.net core項目靜态檔案如何将靜态檔案注入到項目中 如何使用自己的檔案路徑 如何浏覽目錄的檔案與檔案夾

  這樣我們就可以看到該目錄下的東西了。一般來說還是使用預設的比較好,畢竟出于安全考慮嘛。

  因為本人技術有限,寫到這裡就結束了。謝謝大家!

繼續閱讀