无法访问ASP.NET Core 3.1静态文件

时间:2020-06-25 08:00:16

标签: asp.net static core

我有一些JSON数据配置文件,希望将它们作为静态文件在线放置,并在我的Web服务初始化时读取它们。因此,我希望从我的代码内部访问它们,而不是将其公开给外部访问。

按照下面的说明,我将它们放在 / wwwroot / Static 文件夹中,并在Startup.Configure()中使用 app.UseStaticFiles(); ,然后我尝试使用“ / Static / *。json”符号通过HTML和C#代码读取它们,但不适用于C#代码

本地时,出现错误: DirectoryNotFoundException:找不到路径'... \ Repos \ VS2019 \ my-project-folder \ 的一部分〜 \ 静态 \ filename.json ”。

因此,〜符号不会转换为wwwroot文件夹名称。

在线(作为Azure App Service)时,我得到: HTTP ERROR 500

做什么我做错了吗?

1 个答案:

答案 0 :(得分:0)

使用HostingEnvironment获取物理位置:

public HomeController(IHostingEnvironment hostingEnvironment)
    {
        string data= System.IO.File.ReadAllText(hostingEnvironment.WebRootPath.ToString()+ @"\Static\test.json");
    }

如果应用程序是Web Api,则使用ContentRoot而不是WebRootPath。

相关问题