babalae/better-genshin-impact · error · InvalidDataException
无效的图片 data URI。
Error message
无效的图片 data URI。
What it means
Error "无效的图片 data URI。" thrown in babalae/better-genshin-impact.
Source
Thrown at BetterGenshinImpact/View/Controls/Markdown/MarkdownImageLoader.cs:166
while ((read = await stream.ReadAsync(buffer, cancellationToken)) > 0)
{
if (output.Length + read > MaxDownloadBytes)
{
throw new InvalidDataException($"图片大小超过 {MaxDownloadBytes / 1024 / 1024} MB 限制。");
}
await output.WriteAsync(buffer.AsMemory(0, read), cancellationToken);
}
return output.ToArray();
}
private static byte[] DecodeDataUri(string dataUri)
{
var commaIndex = dataUri.IndexOf(',');
if (commaIndex < 0)
{
throw new InvalidDataException("无效的图片 data URI。");
}
var metadata = dataUri[..commaIndex];
var data = dataUri[(commaIndex + 1)..];
var bytes = metadata.EndsWith(";base64", StringComparison.OrdinalIgnoreCase)
? Convert.FromBase64String(data)
: System.Text.Encoding.UTF8.GetBytes(Uri.UnescapeDataString(data));
if (bytes.Length > MaxDownloadBytes)
{
throw new InvalidDataException($"图片大小超过 {MaxDownloadBytes / 1024 / 1024} MB 限制。");
}
return bytes;
}
private static MarkdownImageResult DecodeImage(byte[] bytes)
{View on GitHub (pinned to a7cb36712d)
Solutions
- 检查 data URI 格式是否正确(data:image/xxx;base64,...)
- 确认 base64 内容完整未截断
- 改用文件路径或网络链接引用图片
Example fix
重新生成完整合法的 data URI,格式为 data:image/png;base64,<数据>。
When it happens
Trigger: data URI 中找不到逗号分隔符(元数据与数据无法分开),或 base64 解码失败时抛出。
Common situations: Markdown 中的 data:image 字符串被截断或格式损坏。
AI-assisted analysis of babalae/better-genshin-impact@a7cb36712d (2026-08-13).
Data as JSON: /api/errors/fe6fbed60dacb6f6.
Report an issue: GitHub.