我试图从网关读取图片。
如果我直接在SAP网关中运行此uri,则运行正常并读取图像数据:/sap/opu/odata/sap/ZSA_USERS_SRV/UserPhotoSet('someone@gmail.com')/$value"
现在我想使用下面的代码在我的sapui5应用程序中读取此图像,但我只是得到错误“EventProvider sap.ui.model.odata.v2.ODataModel - 没有数据被服务检索到:”
我在这里缺少什么?
var oModel = this.getOwnerComponent().getModel();
oModel.read("/UserPhotoSet('someone@gmail.com')/$value", {
success: function(oData, oResponse) {
alert("Success read userphotto");
img.setSrc(oData);
},
});
答案 0 :(得分:1)
不要使用oModel.read(...)!在你的情况下,你需要做的就是
img.setSrc("/path/to/my/service/UserPhotoSet('someone@gmail.com')/$value");
图片的属性src是一个字符串 - it's a URI!
存储图像文件的URL的相对或绝对路径。该 路径将根据密度感知格式进行调整 按照惯例
的设备密度
当然,您必须将" / path /替换为/ my / service /"真实的道路......
答案 1 :(得分:0)
在XML中:
<Image id="imgPreviewForm"
class="sapUiSmallMarginTopBottom"
width="300px" height="150px" visible="true" src="">
</Image>
在Javascript控制器中:
var img=this.getView().byId("imgPreviewForm");
img.setSrc("/sap/opu/odata/sap/ZTEST_PDF_SRV/FileSet
('Test.jpg')/$value");