ASP.NET?Core6.0-wwwroot文件夾無法訪問解決方法
默認情況下,ASP.NET Core項目中的wwwroot文件夾被視為Web根文件夾。靜態(tài)文件可以存儲在Web根目錄下的任何文件夾中,并可以使用該根目錄的相對路徑進行訪問。在ASP.NET應(yīng)用程序中,可以從應(yīng)用程序的根文件夾或其下的任何其他文件夾提供靜態(tài)文件。這已在ASP.NET Core中更改?,F(xiàn)在,只有Web根目錄-wwwroot文件夾中的那些文件才能通過http請求提供。其他所有文件均被阻止,默認情況下無法提供。通常,在wwwroot文件夾中應(yīng)有用于不同類型的靜態(tài)文件(例如JavaScript,CSS,圖像,庫腳本等)的單獨文件夾,如下所示。

但是,如果想要靜態(tài)文件能夠被正常訪問到,我們還必須在Startup.cs中配置中間件以將靜態(tài)文件添加到管道中。將對Microsoft.AspNetCore.StaticFiles包的依賴項添加到項目中,然后Startup.Configure調(diào)用擴展方法UseStaticFiles:

重命名wwwroot文件夾
我們可以根據(jù)自己的選擇將wwwroot文件夾重命名為任何其他名稱,并在program.cs中準備托管環(huán)境時將其設(shè)置為Web根。例如,讓我們將wwwroot文件夾重命名為Content文件夾?,F(xiàn)在,在Program類的Main()方法中調(diào)用UseWebRoot()方法將Content文件夾配置為Web根文件夾,如下所示。

訪問wwwroot文件夾之外的靜態(tài)文件
假設(shè)這有一個項目層次結(jié)構(gòu),其中要提供的靜態(tài)文件不在wwwroot的范圍內(nèi)。

對于訪問自拍.png的請求,需要配置靜態(tài)文件中間件,如下所示:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory){
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions() {
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), @"其他靜態(tài)文件")),
RequestPath = new PathString("/StaticFiles")
});
}請求http://localhost:xxxx/StaticFiles/自拍.png將訪問到自拍.png文件。
啟用目錄瀏覽
目錄瀏覽允許Web應(yīng)用程序用戶查看指定目錄中的目錄和文件列表。出于安全原因,默認情況下禁用目錄瀏覽。要啟用目錄瀏覽,請從Startup.Configure中調(diào)用擴展方法UseDirectoryBrowser :

并通過從Startup.ConfigureServices調(diào)用AddDirectoryBrowser擴展方法來 添加所需的服務(wù)

上面的代碼允許使用URL http://localhost:xxxx/images/瀏覽wwwroot/images文件夾的目錄,并帶有指向每個文件和文件夾的鏈接:

提供默認文檔
設(shè)置默認主頁將為網(wǎng)站訪問者提供一個訪問網(wǎng)站的起點。為了使Web應(yīng)用程序無需用戶完全限定URI即可提供默認頁面,請在Startup.Configure中調(diào)用擴展方法UseDefaultFiles。
public void Configure(IApplicationBuilder app){
app.UseDefaultFiles();
app.UseStaticFiles();
}使用UseDefaultFiles,對文件夾的請求將搜索:
- default.htm
- default.html
- index.htm
- index.html
從列表中找到的第一個文件將作為默認起始頁面。
到此這篇關(guān)于ASP.NET Core6.0-wwwroot文件夾無法訪問解決方法的文章就介紹到這了,更多相關(guān)ASP.NET Core wwwroot文件夾無法訪問內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
asp.net下Response.ContentType類型匯總
asp.net下Response.ContentType類型匯總...2007-04-04
asp.net下獲取遠程網(wǎng)頁的內(nèi)容之二(downmoon原創(chuàng))
asp.net下獲取遠程網(wǎng)頁的內(nèi)容之二(downmoon原創(chuàng))...2007-04-04
在Asp.netCore中使用Attribute來描述限流的操作步驟
這篇文章主要介紹了在Asp.netCore中使用Attribute來描述限流的操作步驟,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧2024-12-12
ASP.NET Core讀取Request.Body的正確方法
相信大家在使用ASP.NET Core進行開發(fā)的時候,肯定會涉及到讀取Request.Body的場景,畢竟我們大部分的POST請求都是將數(shù)據(jù)存放到Http的Body當(dāng)中,本文就介紹一下ASP.NET Core讀取Request.Body,感興趣的可以了解一下2021-05-05
asp.net(C#) 動態(tài)添加非ASP的標準html控件(如添加Script標簽)
在開發(fā)程序時,有時需要動態(tài)添加標簽,而有部分又不是ASP控件,偶然找到這段代碼,特收藏。2009-07-07
發(fā)布asp.net core時如何修改ASPNETCORE_ENVIRONMENT環(huán)境變量
這篇文章主要介紹了發(fā)布asp.net core時如何修改ASPNETCORE_ENVIRONMENT環(huán)境變量,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下2021-04-04
asp.net+Ajax校驗用戶是否存在的實現(xiàn)代碼
主要技術(shù)點 jquery ajax以及blur事件,當(dāng)用戶名輸入框失去焦點的時候就會觸發(fā)blur事件,然后進行ajax請求,獲得結(jié)果(true或者false),如果請求結(jié)果為true,就把用戶名輸入框圖片替換成ok,并且輸出文字:恭喜您2012-05-05

