前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >静态文件

静态文件

作者头像
莫问今朝
发布2018-08-31 12:07:40
6760
发布2018-08-31 12:07:40
举报
文章被收录于专栏:博客园

添加静态文件服务  

   静态文件通常位于 Web root(<content-root>/wwwroot)文件夹下

    为了能够启用静态文件服务,必须配置中间件,把静态中间件添加到管道内.静态文件中间件在Microsoft.AspNetCore.StaticFiles包中,调用app.UseStaticFiles();使web root(wwwroot)下文件可以被访问

代码语言:javascript
复制
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    app.UseStaticFiles(); 
}

 访问web root外部静态文件

   也可以将静态文件放在web root外部,但是如果想要访问web root外部静态文件,必须添加一个中间件到管道内

代码语言:javascript
复制
public void Confiugre(IApplicationBuilder app,IHostingEnvironment env)
{
    app.UseStaticFiles();
   //访问web root外部静态文件中间件
    app.UseStaticFiles(new StaticFileOptions{
         FileProvider = new  new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"img")),//实际地址
         RequestPath = new Microsoft.AspNetCore.Http.PathString("/staticFile")//访问地址
    });  
}

我们就可以使用以上地址访问 web root外部静态文件

 允许直接浏览目录

   目录浏览允许网站用户看到指定目录下的目录和文件列表。基于安全考虑,默认情况是禁用目录访问功能的。在Startup.Configure中调用UseDirectoryBrowser扩展方法开启网络应用目录浏览

代码语言:javascript
复制
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
       app.UseStaticFiles();
          
       app.UseDirectoryBrowser(new DirectoryBrowserOptions
       {
           FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"img")),//实际文件目录
           RequestPath = new Microsoft.AspNetCore.Http.PathString("/staticFile") //访问地址
       });
  }

 并且可以通过从Startup.ConfigureServices调用AddDirectory扩展方法来增加所需服务

代码语言:javascript
复制
public void ConfigureServices(IServiceCollection services)
{
    services.AddDirectoryBrowser();
}

UseFileServer

   UseFileServer包含了UseStaticFiles,UseDefaultFiles和UseDirectoryBrowser的功能。

代码语言:javascript
复制
app.UseFileServer()

    上面代码启用了静态文件和默认文件,但不允许直接访问目录

代码语言:javascript
复制
app.UseFileServer(enableDirectoryBrowsing: true);

   上面代码启用了静态文件,默认文件和目录浏览功能

代码语言:javascript
复制
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
      app.UseFileServer(new FileServerOptions
      {
            FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"img")),
            RequestPath = new Microsoft.AspNetCore.Http.PathString("/staticFile"),
           EnableDirectoryBrowsing=true//启用目录浏览 
     });
}

  上面代码实现了访问web root外静态文件

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-11-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 添加静态文件服务  
  •  访问web root外部静态文件
  •  允许直接浏览目录
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档