asp.net core 3.0获取web应用的根目录
1、需求
asp.net core 3.0的web项目中,在controller中,想要获取wwwroot下的imgs/banners文件夹下的所有文件;
在传统的asp.net web应用中,是用Server.MapPath()即可获取到web的根目录;
但在asp.net core 3.0的web项目中,已不能这样用了;
2、解决方案
1)、说明
ASP.NET Core为文件提供了两个不同的位置:
内容根
- 这是应用程序二进制文件和其他私有文件的保存位置。Web根目录
- 这是公共文件的保存位置(Web项目中的wwwroot文件夹)。
默认情况下,Web根位于内容根目录下。但是也存在Web根位于其他位置的部署。
2)、具体解决方法
通过在controller中注册IWebHostEnvironment
即可:
[Route("api")]
[ApiController]
public class resourceController : ControllerBase
{
private readonly IWebHostEnvironment _webHostEnvironment;
public resourceController(IWebHostEnvironment webHostEnvironment)
{
_webHostEnvironment = webHostEnvironment;
}
[HttpGet("banners")]
public ActionResult GetBanners()
{
string content_path = _webHostEnvironment.ContentRootPath;//D:\work\_BASE\pspb\pspb\src\pspb\
string web_path = _webHostEnvironment.WebRootPath;//D:\work\_BASE\pspb\pspb\src\pspb\wwwroot
DirectoryInfo di = new DirectoryInfo(web_path + "/imgs/banners");
FileInfo[] fis = di.GetFiles();
var temp = fis.Select(p => string.Format("imgs/banners/{0}", p.Name));
return Ok(new { ok = true, data = temp });
}
}
_webHostEnvironment对象的ContentRootPath
属性就是内容根
目录;
_webHostEnvironment对象的WebRootPath
属性就是web根
目录;
asp.net core 3.0获取web应用的根目录的更多相关文章
- Do You Kown Asp.Net Core -- Asp.Net Core 2.0 未来web开发新趋势 Razor Page
Razor Page介绍 前言 上周期待已久的Asp.Net Core 2.0提前发布了,一下子Net圈热闹了起来,2.0带来了很多新的特性和新的功能,其中Razor Page引起我的关注,作为web ...
- ASP.NET Core 1.0开发Web API程序
.NET Core版本:1.0.0-rc2Visual Studio版本:Microsoft Visual Studio Community 2015 Update 2开发及运行平台:Windows ...
- asp.net core 2.0 web api基于JWT自定义策略授权
JWT(json web token)是一种基于json的身份验证机制,流程如下: 通过登录,来获取Token,再在之后每次请求的Header中追加Authorization为Token的凭据,服务端 ...
- 用VSCode开发一个asp.net core2.0+angular5项目(5): Angular5+asp.net core 2.0 web api文件上传
第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 第三 ...
- 在 Mac OS 上创建并运行 ASP.NET Core 1.0 网站
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- 在 Mac OS 上使用 TypeScript 编写 ASP.NET Core 1.0 应用
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- ASP.NET CORE 1.0 初次接触
vs2015 update3 升级后,可以创建asp.net core 1.0 的web应用了, 默认模版,发布到指定文件夹 服务器上需要安装 DotNetCore.1.0.0-WindowsHost ...
- ASP.NET Core 5.0中的Host.CreateDefaultBuilder执行过程
通过Rider调试的方式看了下ASP.NET Core 5.0的Web API默认项目,重点关注Host.CreateDefaultBuilder(args)中的执行过程,主要包括主机配置.应用程 ...
- 从头编写 asp.net core 2.0 web api 基础框架 (1)
工具: 1.Visual Studio 2017 V15.3.5+ 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相 ...
随机推荐
- 前后端vue和django配置
django pip源更换 虚拟环境配置 目录和日志配置 数据库配置 用户模块自定义 异常,响应配置 xadmin vue vue基础配置 vue高级配置 vue this问题和样式配置
- SpringBoot源码学习系列之嵌入式Servlet容器
目录 1.博客前言简单介绍 2.定制servlet容器 3.变换servlet容器 4.servlet容器启动原理 SpringBoot源码学习系列之嵌入式Servlet容器启动原理 @ 1.博客前言 ...
- ImSQL:海量数据,可信存储
数据造假.数据不可信等问题的存在,给金融监管及风控等众多应用场景带来了严峻的挑战,也正成为阻碍数据大规模互联互通.共享共用的一大障碍.数据的真实可信问题长期影响着社会的各个领域,在更依赖数据的人工智能 ...
- 人人学IoT 助学思维导图
原来学IoT记录的学习笔记,学完之后,对考试和工作都有些帮助,特分享给大家 笔记分享链接 https://share.mindmanager.com/#publish/s6TqusKeSG6aflXL ...
- tableview封装使用
下载地址 使用方法 1. #import "ZFTableView.h" 2.在需要使用的地方添加ZFTableView 如下 ZFTableView *ta ...
- hdu5969最大的位或
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5969 题意:给定自然数l和r ,选取2个整数x,y,满足l <= x <= y <= r ...
- HDU1848 Fibonacci again and again(SG 函数)
任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的: F(1)=1; F(2)=2; F(n)=F(n-1)+F(n-2)(n>=3); 所以,1, ...
- BZOJ [ZJOI2007]矩阵游戏(二分图匹配)
1059: [ZJOI2007]矩阵游戏 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 6390 Solved: 3133[Submit][Stat ...
- AI Boot Camp 分享之 ML.NET 机器学习指南
今天在中国七城联动,全球134场的AI BootCamp胜利落幕,广州由卢建晖老师组织,我参与分享了一个主题<ML.NET 机器学习指南和Azure Kinect .NET SDK概要>, ...
- ESP8266调试(UDP调试)
1.设置STA模式 AT+CWMODE=1 2.加入热点 AT+CWJAP="Admin_name","password" 3.开启单路连接 AT+CIPMUX ...