日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Asp.Net Core中的静态文件-12

發(fā)布時間:2023/12/4 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.Net Core中的静态文件-12 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

本文出自《從零開始學(xué) ASP.NET CORE MVC》目錄?
推薦文章:配置 ASP.NET Core 請求(Request)處理管道

Asp.Net Core 中的靜態(tài)文件

在這個視頻中我們將討論如何使 ASP.NET Core 應(yīng)用程序,支持靜態(tài)文件,如 HTML,圖像,CSS 和 JavaScript 文件。

靜態(tài)文件

  • 默認情況下,Asp.Net Core 應(yīng)用程序不會提供靜態(tài)文件。

  • 靜態(tài)文件的默認目錄是wwwroot,此目錄必須位于項目文件夾的根目錄中。

將圖片復(fù)制并粘貼到 wwwroot 文件夾中。我們假設(shè)文件的名稱是 banner.jpg。為了能夠從瀏覽器訪問此文件,路徑為:http://{{serverName}}/banner.jpg在我們的示例中,我們在本地計算機上運行, 因此 URL 將如下所示。您的計算機上的端口號可能不同。http://localhost:3290/banner.jpg。

從我的電腦,然后導(dǎo)航到上面的 Url 的時候,
我們?nèi)匀皇峭ㄟ^Run()方法的中間件,返回響應(yīng)的結(jié)果,。我沒有看到圖片banner.jpg。
這是因為,目前我們的應(yīng)用程序請求處理管道,沒有可以提供靜態(tài)文件的所需中間件。我們需要使用的中間件UseStaticFiles()。

修改Configure()方法中的代碼,將UseStaticFiles()中間件添加到我們的應(yīng)用程序的請求處理管道中,如下所示。

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
//添加靜態(tài)文件中間件
app.UseStaticFiles();

app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!");
});
}

在wwwroot文件夾中沒有像 vs 提供的默認模板一樣把圖片、CSS 和 JavaScript 文件進行分類,我們建議將不同的文件類型進行文件夾區(qū)分,參考下圖文件夾層次結(jié)構(gòu) :

image.png


為了能夠從瀏覽器訪問image1.jpg我們輸入地址為?http://localhost:49119/images/image1.jpg 得到結(jié)果。

提供 wwwroot 文件夾之外的靜態(tài)文件

默認情況下,UseStaticFiles()中間件僅提供 wwwroot 文件夾中的靜態(tài)文件。如果您愿意,我們還可以在wwwroot文件夾之外提供靜態(tài)文件。

提供默認文檔

大多數(shù) Web 程序都有一個默認文檔,它是用戶訪問程序地址時顯示的文檔內(nèi)容。例如,您有一個名為default.html的文件,并且您希望在用戶訪問應(yīng)用程序的根 URL 時提供它,即http://localhost:3290

此時,我們來訪問這個地址看看,我看到我使用Run()方法注冊的中間件產(chǎn)生的回調(diào)。但是我沒有看到默認文檔default.html的內(nèi)容。為了能夠提供默認頁面,我們必須在應(yīng)用程序的請求處理管道中插入UseDefaultFiles()中間件。

//添加默認文件中間件
app.UseDefaultFiles();
//添加靜態(tài)文件中間件
app.UseStaticFiles();

請注意:必須在UseStaticFiles之前,注冊UseDefaultFiles來提供默認文件。UseDefaultFiles是一個 URL 重寫器,實際上并沒有提供文件。它只是將URL重寫定位到默認文檔,然后還是由靜態(tài)文件中間件提供。地址欄中顯示的 URL 仍然是根節(jié)點的 URL,而不是重寫的 URL。

以下是UseDefaultFiles中間件默認會去查找的地址信息

- index.htm 的默認文件
- index.html
- default.htm
- default.html

如果要使用其他文檔,如 52abp.html 例如,作為您的默認文檔,您可以使用以下代碼執(zhí)行此操作。

//將52abp.html指定為默認文檔
DefaultFilesOptions defaultFilesOptions = new DefaultFilesOptions();
defaultFilesOptions.DefaultFileNames.Clear();
defaultFilesOptions.DefaultFileNames.Add(“52abp.html”);
//添加默認文件中間件
app.UseDefaultFiles(defaultFilesOptions);
//添加靜態(tài)文件中間件
app.UseStaticFiles();

UseFileServer 中間件

UseFileServer結(jié)合了UseStaticFiles,UseDefaultFiles和UseDirectoryBrowser中間件的功能。DirectoryBrowser中間件,支持目錄瀏覽,并允許用戶查看指定目錄中的文件。
我們可以用UseFileServer 中間件替換UseStaticFiles 和 UseDefaultFiles中間件。

/使用UseFileServer而不是UseDefaultFiles和UseStaticFiles
FileServerOptions fileServerOptions = new FileServerOptions();
fileServerOptions.DefaultFilesOptions.DefaultFileNames.Clear();
fileServerOptions.DefaultFilesOptions.DefaultFileNames.Add(“52abp.html”);
app.UseFileServer(fileServerOptions);

這里要注意的知識點:是我們應(yīng)該使用添加中間件的方式,添加到應(yīng)用程序的請求處理管道的方法。
在大多數(shù)情況下,我們使用以 USE 開頭的擴展方法添加中間件。例如:

UseDeveloperExceptionPage()
UseDefaultFiles()
UseStaticFiles()
UseFileServer()

如果要自定義這些中間件組件,他有對應(yīng)的可配置選項卡。參考下表:

中間件選項對象
UseDeveloperExceptionPageDeveloperExceptionPageOptions
UseDefaultFilesDefaultFilesOptions
UseStaticFilesStaticFileOptions
UseFileServerFileServerOptions

小結(jié)

我希望這篇文章可以幫助您滿足您的需求。我想收到你的反饋意見。請發(fā)布您對本文的反饋,問題或意見。


聲明專區(qū)



如果您覺得我的文章質(zhì)量還不錯,歡迎打賞,也可以訂閱我的視頻哦

未得到授權(quán)不得擅自轉(zhuǎn)載本文內(nèi)容,52abp.com保留版權(quán)

文字版目錄:https://www.52abp.com/Wiki/mvc/latest/1.Intro?

交流QQ群:952387474《微軟MVP帶你學(xué)ASP.NET?CORE》

【收費】騰訊課堂:?https://ke.qq.com/course/392589?tuin=2522cdf3?
【免費】youtube視頻專區(qū):http://t.cn/Ei0F2EB?
免費的更新慢,收費的更新快,僅此而已。就這樣。
?

「好看」的人都【在看】↓↓↓





總結(jié)

以上是生活随笔為你收集整理的Asp.Net Core中的静态文件-12的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。