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")
});

然后可以看到以下效果

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

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

目录
相关文章
|
2月前
|
开发框架 前端开发 .NET
ASP.NET WEB——项目创建与文件上传操作
ASP.NET WEB——项目创建与文件上传操作
63 0
|
2月前
|
开发框架 前端开发 JavaScript
盘点72个ASP.NET Core源码Net爱好者不容错过
盘点72个ASP.NET Core源码Net爱好者不容错过
106 0
|
2月前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
56 0
|
2月前
|
开发框架 JavaScript .NET
ASP.NET Core的超级大BUG
ASP.NET Core的超级大BUG
57 0
|
13天前
|
开发框架 JSON .NET
|
1月前
|
存储 安全 Unix
【.Net Core】深入理解IO之文件和目录
【.Net Core】深入理解IO之文件和目录
33 4
|
1月前
|
开发框架 .NET API
ASP.NET Core Web中使用AutoMapper进行对象映射
ASP.NET Core Web中使用AutoMapper进行对象映射
|
19天前
|
SQL 开发框架 .NET
(20)ASP.NET Core EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性)
(20)ASP.NET Core EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性)
|
1月前
|
Linux C# C++
【.NET Developer】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
本文介绍了如何使用VS2019和.NET框架创建一个Blazor应用,并将其部署到Azure应用服务。首先,Blazor是一个使用C#而非JavaScript构建交互式Web UI的框架,支持共享服务器和客户端应用逻辑,以及与Docker和Azure集成。任务包括创建Blazor项目,配置Dockerfile为Linux容器,本地测试,发布到Azure Container Registry (ACR),然后在Azure App Service for Container上部署。在部署过程中,需确保Docker设置正确,开启ACR的Admin访问权限,并监控镜像拉取和容器启动日志。
|
2月前
|
XML 开发框架 .NET
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
39 1