首页 > 解决方案 > SAPUI5 Avatar - 显示图像(从后端流式传输)不起作用

问题描述

ObjectPageLayout我想展示一张嵌入的图片sap.f.Avatar(形状为圆形)。图片保存为rawstringSAP 后端并通过 oData(媒体)流式传输。当我通过setSrc它工作的图像方法设置 URI 时,对于 Avatar 不起作用?那么如何将后端流式图像绑定到头像控件?

作品:

Image.setSrc(**/sap/opu/odata/sap/Z_SERVICE_SRV/ImageSet('1234')/$value).

不起作用:

Avatar.setSrc(**/sap/opu/odata/sap/Z_SERVICE_SRV/ImageSet('1234')/$value).

同样的问题已经在这里讨论过,但没有解决方案。

头像示例:

在此处输入图像描述

标签: imagestreamsapui5avatar

解决方案


Лидия Копылова 的回答对我有用:

这个错误的原因是因为如果你使用 Avatar 控件,它使用一个 css 属性 background-image 失败,因为这个属性的开头和里面的字符串中有单引号。

背景图像(' ....ImageSet(' 1234')...');

我不得不将我的单引号更改为%27,并且 Avatar 控件开始工作。因此,您更改的代码将是:

Avatar.setSrc(**/sap/opu/odata/sap/Z_SERVICE_SRV/ImageSet(%271234%27)/$value).

另外值得注意的是,我目前使用的是 SAPui5 版本 1.52.34,但是在使用 1.60.1 时,Avatar 控件可以正常工作,而无需将单引号更改为%27. 因此,如果您能够升级 ui5 版本,这可能也是一个可行的选择。


推荐阅读