侧边栏壁纸
  • 累计撰写 12 篇文章
  • 累计创建 7 个标签
  • 累计收到 1 条评论

ASP.NET Core中的静态文件中间件-ASP.NET Core学习(3)

黎源
2022-03-24 / 0 评论 / 0 点赞 / 1,200 阅读 / 1,168 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-03-25,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

在ASP.NET Core中添加静态文件中间件

默认情况下ASP.NET Core是不提供静态文件的支持的,所以我们需要添加UseStaticFiles() 中间件。

app.UseStaticFiles();

然后在项目中新建文件夹,命名为wwwroot,相关的文件放到此目录下,就可以通过域名加文件名进行访问了。例如我在此文件下添加了一个图片,名称为1.jpg。启动项目后,就可以通过http://localhost:64984/1.jpg,访问图片了。

支持默认文件

常见的Web项目打开后都会打开一个默认的页面,在ASP.NET Core中,可以通过 UseDefaultFiles() 中间件来设置。UseDefaultFiles() 中间件会默认查找的地址信息如下

  1. Index.htm
  2. Index.html
  3. default.htm
  4. default.html

如果需要自定义默认文件的话,可以使用如下的方法

DefaultFilesOptions defaultFilesOptions = new DefaultFilesOptions();
defaultFilesOptions.DefaultFileNames.Clear();     
defaultFilesOptions.DefaultFileNames.Add("First.html");
app.UseDefaultFiles(defaultFilesOptions);

项目运行时默认就会打开“First.html”这个文件,但是需要注意的是First.html这个文件需要放置到wwwroot文件夹下面。
因为UseDefaultFiles() 中间件的本质是url重写器,项目启动时将url定向到了指定的默认文件,后面还是由静态文件中间件来提供的。所以不仅仅默认文件要放在wwwroot文件夹下,在管道中添加中间件时,需要先添加UseDefaultFiles中间件,再添加UseStaticFiles中间件。

UseFileServer中间件

UseFileServer中间件结合了UseDefaultFiles中间件和UseStaticFiles中间件。还是上面的功能,使用UseFileServer的话,更加简单

FileServerOptions fileServerOptions = new FileServerOptions();
fileServerOptions.DefaultFilesOptions.DefaultFileNames.Clear();
fileServerOptions.DefaultFilesOptions.DefaultFileNames.Add("First.html");
app.UseFileServer(fileServerOptions);
0
博主关闭了所有页面的评论