You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome导出的MHT格式Blink归档图片转Base64报错如何解决?

问题修复方案

核心原因

你误用了解码方式:MHT中该图片的Content-Transfer-Encoding是binary,说明内容是原始字节流,而非Base64编码字符串,直接用System.Convert.FromBase64String解码必然报错。

修复步骤

  1. 停止Base64解码操作:binary编码的内容不需要经过Base64转换,直接提取原始字节即可。
  2. 正确提取MHT中的图片字节:
    • 不要将binary内容当作字符串读取(不可打印字节会被字符串处理逻辑损坏),需以字节流方式解析MHT,定位到对应图片的Content块,提取其原始字节数据。
  3. 代码修正示例:
    假设你已正确提取到图片的原始字节数组(而非转成字符串的内容),直接写入文件即可:
    // 假设bytes是从MHT中提取的binary编码图片原始字节
    byte[] bytes = ...; 
    File.WriteAllBytes("image.jpg", bytes);
    

补充说明

如果手动提取MHT内容时误将二进制转成了字符串,会导致数据损坏。建议使用专门的MHT解析类(比如MhtDocument相关实现)自动解析各部分内容,避免手动处理字节与字符串转换的问题。

内容的提问来源于stack exchange,提问作者xralf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 01:58:16