从 odoo 12 数据库(postgres)中检索以 base64 编码的附件地址

Retriving the attachment's address,which is encoded in base64 from odoo 12 database(postgres)

我有一个网络应用程序,我需要显示一个图像,其地址存储在 odoo 数据库 (postgre) 中并以 base64 编码。 任何人都可以帮助我如何解码数据并获得 link。 下面是一个例子。 数据库中的数据是这样的

我想解码数据以获得如下所示的 url:

v12 中合作伙伴图像的路径是:

  • /web/image?model=res.partner&field=image_medium&id=partner_id&unique=nonce
  • /web/image/res.partner/partner_id/image_name?唯一=随机数

其中:

  • partner_id是伙伴在Odoo数据库中的id。
  • nonce 可选,用于避免缓存,可以是当前时间戳。
  • partner_name 可以是任何东西

此 url 的问题是 public 或门户用户出于隐私原因默认无法访问任何合作伙伴数据,除了他们自己(包括图像)。根据您的情况,一些解决方案可能是:

  • 如果不在意隐私问题,安装website_partner模块,伙伴一一发布,网址为return真实图片
  • 创建一个带有控制器的模块,该控制器使用 sudo() 仅传送合作伙伴图像。