{"record":{"id":"fe6fbed60dacb6f6","repo":"babalae/better-genshin-impact","slug":"data-uri","errorCode":null,"errorMessage":"无效的图片 data URI。","messagePattern":"无效的图片 data URI。","errorType":"exception","errorClass":"InvalidDataException","httpStatus":null,"severity":"error","filePath":"BetterGenshinImpact/View/Controls/Markdown/MarkdownImageLoader.cs","lineNumber":166,"sourceCode":"        while ((read = await stream.ReadAsync(buffer, cancellationToken)) > 0)\n        {\n            if (output.Length + read > MaxDownloadBytes)\n            {\n                throw new InvalidDataException($\"图片大小超过 {MaxDownloadBytes / 1024 / 1024} MB 限制。\");\n            }\n\n            await output.WriteAsync(buffer.AsMemory(0, read), cancellationToken);\n        }\n\n        return output.ToArray();\n    }\n\n    private static byte[] DecodeDataUri(string dataUri)\n    {\n        var commaIndex = dataUri.IndexOf(',');\n        if (commaIndex < 0)\n        {\n            throw new InvalidDataException(\"无效的图片 data URI。\");\n        }\n\n        var metadata = dataUri[..commaIndex];\n        var data = dataUri[(commaIndex + 1)..];\n        var bytes = metadata.EndsWith(\";base64\", StringComparison.OrdinalIgnoreCase)\n            ? Convert.FromBase64String(data)\n            : System.Text.Encoding.UTF8.GetBytes(Uri.UnescapeDataString(data));\n\n        if (bytes.Length > MaxDownloadBytes)\n        {\n            throw new InvalidDataException($\"图片大小超过 {MaxDownloadBytes / 1024 / 1024} MB 限制。\");\n        }\n\n        return bytes;\n    }\n\n    private static MarkdownImageResult DecodeImage(byte[] bytes)\n    {","sourceCodeStart":148,"sourceCodeEnd":184,"githubUrl":"https://github.com/babalae/better-genshin-impact/blob/a7cb36712dcb409be610257d877fcea3597e9d6b/BetterGenshinImpact/View/Controls/Markdown/MarkdownImageLoader.cs#L148-L184","documentation":"Error \"无效的图片 data URI。\" thrown in babalae/better-genshin-impact.","triggerScenarios":"data URI 中找不到逗号分隔符（元数据与数据无法分开），或 base64 解码失败时抛出。","commonSituations":"Markdown 中的 data:image 字符串被截断或格式损坏。","solutions":["检查 data URI 格式是否正确（data:image/xxx;base64,...）","确认 base64 内容完整未截断","改用文件路径或网络链接引用图片"],"exampleFix":"重新生成完整合法的 data URI，格式为 data:image/png;base64,<数据>。","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a7cb36712dcb409be610257d877fcea3597e9d6b","analyzedAt":"2026-08-13T16:44:57.548Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}