babalae/better-genshin-impact · error · NotSupportedException
不支持的图片协议:{source.Scheme}
Error message
不支持的图片协议:{source.Scheme} What it means
Error "不支持的图片协议:{source.Scheme}" thrown in babalae/better-genshin-impact.
Source
Thrown at BetterGenshinImpact/View/Controls/Markdown/MarkdownImageLoader.cs:118
?? throw new FileNotFoundException("找不到 Markdown pack 资源。", source.ToString());
await using var resourceStream = resourceInfo.Stream;
bytes = await ReadLimitedAsync(resourceStream, cancellationToken);
}
else if (source.Scheme is "http" or "https")
{
using var response = await HttpClient.GetAsync(source, HttpCompletionOption.ResponseHeadersRead, cancellationToken);
response.EnsureSuccessStatusCode();
if (response.Content.Headers.ContentLength > MaxDownloadBytes)
{
throw new InvalidDataException($"图片大小超过 {MaxDownloadBytes / 1024 / 1024} MB 限制。");
}
await using var responseStream = await response.Content.ReadAsStreamAsync(cancellationToken);
bytes = await ReadLimitedAsync(responseStream, cancellationToken);
}
else
{
throw new NotSupportedException($"不支持的图片协议:{source.Scheme}");
}
cancellationToken.ThrowIfCancellationRequested();
var result = DecodeImage(bytes);
_cache[cacheKey] = new WeakReference<MarkdownImageResult>(result);
return result;
}
private static HttpClient CreateHttpClient()
{
var client = new HttpClient(new HttpClientHandler
{
AllowAutoRedirect = true,
MaxAutomaticRedirections = 5,
UseCookies = false,
UseDefaultCredentials = false
})
{View on GitHub (pinned to a7cb36712d)
Solutions
- 仅使用支持的图片协议(http/https/data/pack)
- 将图片下载到本地后使用支持的引用方式
- 修改 Markdown 中的图片链接协议
Example fix
改用 http/https 链接、本地文件路径或 data URI。
When it happens
Trigger: 图片 Uri 的 Scheme 既不是 data、file、pack,也不是 http/https,落入 else 分支抛出 NotSupportedException。
Common situations: Markdown 中使用了 ftp、自定义协议等不支持的图片链接。
AI-assisted analysis of babalae/better-genshin-impact@a7cb36712d (2026-08-13).
Data as JSON: /api/errors/18749e897f75af7b.
Report an issue: GitHub.