【发布时间】:2021-06-24 19:11:16
【问题描述】:
我正在尝试从 github 存储库中获取 README.md 文件的内容并将其输出显示在网页上(使用剃须刀),这是我的代码:
@using System.Net.Http.Headers;
@using Newtonsoft.Json;
@page "/"
<h1>Hello, world!</h1>
Welcome to your new app.
<SurveyPrompt Title="How is Blazor working for you?" />
<span>
@((MarkupString)content)
</span>
@code{
public string content { get; set; }
protected override async Task OnInitializedAsync() {
const string url = "https://api.github.com/repos/angrymonkeydocs/amd-css/contents/README.md";
HttpClient client = new();
//client.DefaultRequestHeaders.Add("User-Agent", "AngryMonkeyDocs");
client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("AngryMonkeyDocs", "1"));
string responseString = await client.GetStringAsync(url);
dynamic json = JsonConvert.DeserializeObject(responseString);
string jsonContent = json["content"];
content = Base64Decode(jsonContent);
}
private static string Base64Decode(string base64EncodedData)
{
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
}
}
这里是网页地址:https://github.com/angrymonkeydocs/amd-css#readme
我不明白为什么我得到以下结果而不是像网页一样
【问题讨论】:
-
API 以 markdown 语言返回 raw content。但是markdown需要转换成HTML才能在浏览器中显示。
-
GitHub API 似乎有一个endpoint 可以将 Markdown 转换为 HTML。
标签: c# html razor github-api rest