博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net core 使用 StaticFiles 中间件 (不完整翻译)
阅读量:5226 次
发布时间:2019-06-14

本文共 2071 字,大约阅读时间需要 6 分钟。

设置静态资源根目录

Startup.cs 中的 Configure 方法中使用 StaticFiles 中间件

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory){    app.UseStaticFiles(); // 使用默认的静态资源文件夹 /wwwroot    // 使用指定的 /StaticFiles 文件夹    app.UseStaticFiles(new StaticFileOptions()    {        FileProvider = new PhysicalFileProvider(            Path.Combine(Directory.GetCurrentDirectory(), @"MyStaticFiles")),        RequestPath = new PathString("/StaticFiles")    });}

启用目录浏览功能

Startup.Configure 中添加下面的代码

app.UseStaticFiles(new StaticFileOptions(){    FileProvider = new PhysicalFileProvider(        Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\images")),    RequestPath = new PathString("/MyImages")});app.UseDirectoryBrowser(new DirectoryBrowserOptions()    {        FileProvider = new PhysicalFileProvider(            Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\images")),        RequestPath = new PathString("/MyImages")    });

然后在 Startup.ConfigureServices 中调用 AddDirectoryBrowser 拓展方法

public void ConfigureServices(IServiceCollection services){    services.AddDirectoryBrowser();}

这样,我们就可以通过 http://<app>/MyImages 来浏览 wwwroot/images 文件夹。

提供默认文档

设置一个默认的主页以便网站的访问者可以开始他们的浏览。为了能让你的网站在访客在不用提供完整页面路径的情况下能显示出默认页面,我们需要从 Startup.Configure 中调用 UseDefaultFiles 拓展方法。

public void Configure(IApplicationBuilder app){    app.UseDefaultFiles();    app.UseStaticFiles();}

注意

UseDefaultFile 必须在 UseStaticFiles 之前调用来提供默认页面。
UseDefaultFile 只是一个 URL 重写组件,它并不会真正的发送文件到客户端,因此,我们必须启用 static files 中间件(UseStaticFiles)来提供这个默认页面。

通过UseDefaultFile,请求将会默认在文件夹中查找

  • default.htm
  • default.html
  • index.htm
  • index.html

从这个列表中第一个被找到的文件将会被像通过他的完整路径去访问一样的被展现出来(即使浏览器上显示的还是继续显示之前请求的 URII)

下面的代码展示了如何来改变默认显示的文件为 mydefault.html

public void Configure(IApplicationBuilder app){    // 设置网站默认提供浏览的文件    DefaultFilesOptions options = new DefaultFilesOptions();    options.DefaultFileNames.Clear();    options.DefaultFileNames.Add("mydefault.html");    app.UseDefaultFiles(options);    app.UseStaticFiles();}

原文后面的东西我没用上,所以就没有翻译了。。。

转载于:https://www.cnblogs.com/JacZhu/p/5729157.html

你可能感兴趣的文章
C++ FFLIB 之FFDB: 使用 Mysql&Sqlite 实现CRUD
查看>>
Spring-hibernate整合
查看>>
c++ map
查看>>
exit和return的区别
查看>>
js += 含义(小知识)
查看>>
B2321 [BeiJing2011集训]星器 数学&&物理
查看>>
201571030319 四则运算
查看>>
RestTemplate 调用本地服务 connection refused
查看>>
.NET方向高级开发人员面试时应该事先考虑的问题
查看>>
台达PLC modbus 不支持04功能码
查看>>
发布一个JavaScript工具类库jutil,欢迎使用,欢迎补充,欢迎挑错!
查看>>
discuz 常用脚本格式化数据
查看>>
洛谷P2777
查看>>
PHPStorm2017设置字体与设置浏览器访问
查看>>
SQL查询总结 - wanglei
查看>>
安装cocoa pods时出现Operation not permitted - /usr/bin/xcodeproj的问题
查看>>
makefile中使用变量
查看>>
GIT笔记:将项目发布到码云
查看>>
JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别
查看>>
JavaScript 鸭子模型
查看>>