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

Odoo 10 XMLRPC获取图片:含换行的Base64字符串如何在<img>标签显示?

解决Odoo 10 XMLRPC获取图片时Base64字符串换行的显示问题

没错,必须先移除这些换行符才能在HTML的<img>标签里正常显示图片。原因很简单:HTML的data URI规范不允许Base64编码字符串中包含换行符,浏览器解析时会把这些换行当成无效字符,直接导致图片加载失败。

具体处理步骤:

  1. 清理Base64字符串:拿到sub_record['image']后,先移除所有换行符(包括\n和\r,兼容不同系统的换行格式)。
  2. 构建有效的data URI:把清理后的Base64字符串拼接到data:image/[格式];base64,前缀后面,格式要对应图片实际类型(比如PNG用image/png,JPEG用image/jpeg)。

示例代码(Python):

# 从Odoo XMLRPC获取的带换行的原始Base64字符串
raw_base64 = sub_record['image']

# 移除所有换行符和回车符
clean_base64 = raw_base64.replace('\n', '').replace('\r', '')

# 构建img标签的src属性(假设图片是PNG格式,可按需调整)
img_src = f"data:image/png;base64,{clean_base64}"

在HTML中使用:

<!-- 直接引用处理后的src值 -->
<img src="{img_src}" alt="Odoo记录图片" />

额外注意事项:

  • 确认MIME类型:Odoo的image字段可能存储不同格式的图片,你可以根据实际情况调整data URI里的类型,比如如果是JPG就改成image/jpeg。
  • 容错处理:如果sub_record['image']为空或者无效,建议添加判断逻辑,比如显示一张默认占位图,避免页面出现破损的图标。

内容的提问来源于stack exchange,提问作者M.E.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:35:59