如何在 ASP.NET Core 的 .json 配置文件中以跨平台方式存储文件路径?
Posted
技术标签:
【中文标题】如何在 ASP.NET Core 的 .json 配置文件中以跨平台方式存储文件路径?【英文标题】:How to store file paths in a cross platform way in a .json configuration file in ASP.NET Core? 【发布时间】:2020-09-07 06:51:56 【问题描述】:如何在ASP.NET Core的.json
配置文件中跨平台存储文件路径?
例如我在配置中有条目:
MyPath: "C:\\Foo\\Bar"
并且该路径适用于 Windows,但不适用于 Linux。我知道Path.DirectorySeparatorChar
,但我如何在.json
中使用它?还是我应该使用不同的东西?
【问题讨论】:
【参考方案1】:试试看:
// IWebHostEnvironment _webHost
// IConfiguration Configuration
var listOfPath = Configuration["my-path"].ToString()
.Split("\\", StringSplitOptions.RemoveEmptyEntries);
var uploadPath = Path.Combine(_webHost.WebRootPath );
foreach (var folders in listOfPath)
uploadPath = Path.Combine(uploadPath, folders);
【讨论】:
为什么要使用toString()
方法?无论如何,配置返回为string
。以上是关于如何在 ASP.NET Core 的 .json 配置文件中以跨平台方式存储文件路径?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ocelot.json 路由 asp.net core 中发布 json body
如何在 JSON 响应 ASP.NET Core 中关闭或处理 camelCasing?
如何在 asp.net core web api 中绑定 Json Query 字符串
如何在 ASP.NET Core 的 .json 配置文件中以跨平台方式存储文件路径?