{"record":{"id":"56d0bae127485500","repo":"babalae/better-genshin-impact","slug":"maxdownloadbytes-1024-1024-mb-56d0ba","errorCode":null,"errorMessage":"图片大小超过 {MaxDownloadBytes / 1024 / 1024} MB 限制。","messagePattern":"图片大小超过 (.+?) MB 限制。","errorType":"exception","errorClass":"InvalidDataException","httpStatus":null,"severity":"error","filePath":"BetterGenshinImpact/View/Controls/Markdown/MarkdownImageLoader.cs","lineNumber":92,"sourceCode":"            return cachedResult;\n        }\n\n        byte[] bytes;\n        if (source.Scheme.Equals(\"data\", StringComparison.OrdinalIgnoreCase))\n        {\n            bytes = DecodeDataUri(source.OriginalString);\n        }\n        else if (source.IsFile)\n        {\n            var fileInfo = new FileInfo(source.LocalPath);\n            if (!fileInfo.Exists)\n            {\n                throw new FileNotFoundException(\"Markdown 图片不存在。\", source.LocalPath);\n            }\n\n            if (fileInfo.Length > MaxDownloadBytes)\n            {\n                throw new InvalidDataException($\"图片大小超过 {MaxDownloadBytes / 1024 / 1024} MB 限制。\");\n            }\n\n            bytes = await File.ReadAllBytesAsync(fileInfo.FullName, cancellationToken);\n        }\n        else if (source.Scheme.Equals(\"pack\", StringComparison.OrdinalIgnoreCase))\n        {\n            var resourceInfo = Application.GetResourceStream(source)\n                               ?? throw new FileNotFoundException(\"找不到 Markdown pack 资源。\", source.ToString());\n            await using var resourceStream = resourceInfo.Stream;\n            bytes = await ReadLimitedAsync(resourceStream, cancellationToken);\n        }\n        else if (source.Scheme is \"http\" or \"https\")\n        {\n            using var response = await HttpClient.GetAsync(source, HttpCompletionOption.ResponseHeadersRead, cancellationToken);\n            response.EnsureSuccessStatusCode();\n            if (response.Content.Headers.ContentLength > MaxDownloadBytes)\n            {\n                throw new InvalidDataException($\"图片大小超过 {MaxDownloadBytes / 1024 / 1024} MB 限制。\");","sourceCodeStart":74,"sourceCodeEnd":110,"githubUrl":"https://github.com/babalae/better-genshin-impact/blob/a7cb36712dcb409be610257d877fcea3597e9d6b/BetterGenshinImpact/View/Controls/Markdown/MarkdownImageLoader.cs#L74-L110","documentation":"Error \"图片大小超过 {MaxDownloadBytes / 1024 / 1024} MB 限制。\" thrown in babalae/better-genshin-impact.","triggerScenarios":"图片字节数（本地文件长度、HTTP Content-Length 或流式累计读取）超过 MaxDownloadBytes 上限时抛出 InvalidDataException。","commonSituations":"Markdown 中嵌入了超大图片（超过设定MB数）。","solutions":["压缩图片使其小于大小限制后再引用","引用更小的图片资源","使用图床上压缩后的图片链接"],"exampleFix":"压缩图片或将图片体积降到限制以内再引用。","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"}