从ChatBot的项目文件夹中读取JSON文件

时间:2019-12-09 11:23:02

标签: c# json azure-web-sites chatbot

我想读取json文件以显示自适应卡,但是我缺少如何获取文件的路径。 就像我的wwwwroot文件夹中有一个card_a.json文件。

public async Task<string> GetCardText(string cardName)
{
    var path = $"/wwwroot/{cardName}.json";
    if (!File.Exists(path))
        return string.Empty;

    using (var f = File.OpenText(path))
    {
        return await f.ReadToEndAsync();
    }
}

我尝试了$"/wwwroot/{cardName}.json"$"/{cardName}.json"$"{cardName}.json",但都没有。
我读过this文章,但没有帮助,示例在此处失败:

var path = HostingEnvironment.MapPath($"/Cards/{cardName}.json");

有错误:HostingEnvironment不包含MapPath的定义。使用System.Web添加无法解决此问题。 VS表示不需要添加。

1 个答案:

答案 0 :(得分:0)

cardname.json文件是否需要驻留在wwwroot文件夹中?通过将它们存储在应用程序根目录或该文件的子文件夹中,可以节省很多权限和路径问题。