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

Odoo14通过API传QWeb报表Base64编码至移动端报错求助

解决Odoo14生成的Base64报表在移动端解析失败的问题

问题根源

你用base64.base64encode(pdf)得到的是Python的bytes类型对象,直接输出或传递时会带上b'前缀和末尾的',这两个字符不属于Base64编码的合法字符(Base64仅允许A-Z、a-z、0-9、+、/、=),导致移动端解析时判定为无效格式。

修复方案

在编码后调用.decode('utf-8')将bytes对象转换为纯Base64字符串,去掉多余的标识字符:

import base64

# 生成PDF后执行编码
pdf_base64 = base64.base64encode(pdf).decode('utf-8')

这样得到的字符串就不会包含b'前缀,是标准的Base64格式,移动端可以正常解析。

验证要点

  • 检查最终字符串:确保开头没有b',结尾没有'
  • 确认字符串长度是4的倍数:Base64编码要求长度必须是4的整数倍,不足时会用=填充(最多2个),如果长度不符合,可能是PDF生成过程中出现截断,需要检查报表生成逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:40:23