ASP.NET Core 静态文件中间件(默认文件的设置)

一、UseDefaultFiles()中间件默认会去查找的地址信息的顺序。

● Index.htm

● Index.html

● default.htm

● default.html

新增的default.html文件需要放入wwwroot文件夹的根目录中,否则无法运行。

二、重新定义默认文件        举个例子:

//Startup.cs中的Configure()中加以下内容
 
DefaultFilesOptions defaultFilesOptions = new DefaultFilesOptions();
defaultFilesOptions.DefaultFileNames.Clear();
defaultFilesOptions.DefaultFileNames.Add("html1-1.html");
app.UseDefaultFiles(defaultFilesOptions);
 
//这样即便是index.html还存在,默认文件也是html1-1.html
app.UseStaticFiles();

三、终极解决办法     UseFileServer()中间件

        UseFileServer()结合了这3个中间件的功能:

                ● UseStaticFiles()、

                ● UseDefaultFiles()

                ● UseDirectoryBrowser()(注:DirectoryBrowser()中间件支持目录浏览,并允许用户查看指定目录中的文件。)

        我们可以用UseFileServer()中间件替换UseStaticFiles()和UseDefaultFiles()中间件。

        举个栗子:

//Startup.cs中的Configure()中加以下内容
 
FileServerOptions fileServerOptions = new FileServerOptions();
fileServerOptions.DefaultFilesOptions.DefaultFileNames.Clear();
fileServerOptions.DefaultFilesOptions.DefaultFileNames.Add("html1-1.html");
app.UseFileServer(fileServerOptions);
 
 //代替了app.UseDefaultFiles(defaultFilesOptions); 和app.UseStaticFiles();



posted on 2023-03-15 15:39  静以修身俭以养德  阅读(78)  评论(0编辑  收藏  举报

导航