asp.net core 之静态文件目录的操作-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

asp.net core 之静态文件目录的操作

简介: 文章前言   之前写了一篇关于模拟登录的文章,自我感觉内容不太丰富,今天的这篇文章,希望在内容上能丰富些。本人缺少写文章的经验,技术上也是新手,但我会努力的,希望大家多多支持小弟。 asp.net core项目静态文件   创建一个asp.net core 项目的静态文件一般是放在项目目录下wwwroot文件夹,文件目录如下。

文章前言

  之前写了一篇关于模拟登录的文章,自我感觉内容不太丰富,今天的这篇文章,希望在内容上能丰富些。本人缺少写文章的经验,技术上也是新手,但我会努力的,希望大家多多支持小弟。

asp.net core项目静态文件

  创建一个asp.net core 项目的静态文件一般是放在项目目录下wwwroot文件夹,文件目录如下。

  

如何将静态文件注入到项目中 

  在startup.cs文件的Configure方法中写入:

  app.UseStaticFiles();

  这方法的默认路径正是上面所说的wwwroot目录。

如何使用自己的文件路径

  在startup.cs文件的Configure方法中写入:

app.UseStaticFiles(new StaticFileOptions()
{
  FileProvider = new PhysicalFileProvider(
  Path.Combine(Directory.GetCurrentDirectory(), @"MyStaticFiles")),
  RequestPath = new PathString("/StaticFiles")
});

  这时候我们运行一下然后输入链接看到以下效果

  

  这时候我们知道FileProvider是指定路径,RequestPath是将对外的路径重写。即可用 StaticFiles来访问而不是MyStaticFiles。

  我觉得这样地址重写的好处是可以保证项目的结构不被暴露,有一定的安全性吧。

 如何浏览目录的文件与文件夹

  在出于安全问题默认情况下是不允许浏览目录的文件和文件夹的,但是如果你需要浏览的话可以用以下方法。

  

  首先要在startup.cs文件的ConfigureServices方法中加入:

    services.AddDirectoryBrowser();  

  然后在startup.cs文件的Configure方法中写入:

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

然后可以看到以下效果

  
  这样我们就可以看到该目录下的东西了。一般来说还是使用默认的比较好,毕竟出于安全考虑嘛。

  因为本人技术有限,写到这里就结束了。谢谢大家!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章