正在 wwwroot 之外加载 json 文件
Loading json file outside of wwwroot
我将我的语言资源文件存储为 JSON 并且需要使用 Newtonsoft.Json
包加载和反序列化它们。
将这些文件放在 wwwroot
文件夹中没有多大意义,因为它们不会被客户端直接使用或打开。
我尝试使用 File.LoadAllText()
加载它们,但它试图在 wwwroot
中找到这些文件,并且不会在其中查找。
我可以加载它们吗?
即使工作目录默认设置为 wwwroot
,您也可以访问环境允许的任何文件。将客户端不直接访问的数据存储到 wwwroot
.
以外的其他目录是有意义的
您可以使用 PlatformServices.Default.Application
处的服务通过 ApplicationBasePath
获取 approot
文件夹的路径。通过这种方式,您可以确保在不依赖工作目录和相对路径的情况下访问正确的文件。
要使用它,您必须添加对 Microsoft.Extensions.PlatformAbstractions
的引用。
我将我的语言资源文件存储为 JSON 并且需要使用 Newtonsoft.Json
包加载和反序列化它们。
将这些文件放在 wwwroot
文件夹中没有多大意义,因为它们不会被客户端直接使用或打开。
我尝试使用 File.LoadAllText()
加载它们,但它试图在 wwwroot
中找到这些文件,并且不会在其中查找。
我可以加载它们吗?
即使工作目录默认设置为 wwwroot
,您也可以访问环境允许的任何文件。将客户端不直接访问的数据存储到 wwwroot
.
您可以使用 PlatformServices.Default.Application
处的服务通过 ApplicationBasePath
获取 approot
文件夹的路径。通过这种方式,您可以确保在不依赖工作目录和相对路径的情况下访问正确的文件。
要使用它,您必须添加对 Microsoft.Extensions.PlatformAbstractions
的引用。