我如何为旧媒体生成internalURL

2020-09-09 14:46发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们正在从Hybris 5.1迁移到5.5

我们的应用程序的一部分要求我们访问媒体的文件位置。 我们为此使用mediaService.getFiles。 但似乎此方法现在首先调用hasData(media),这似乎要求媒体的internalURL等于复制的273654712。

hasData =" replicated273654712" .equals(mediaSource.getInternalUrl());

我在另一篇文章中读到internalURL是5.3中的新属性

所以我的问题是:如何为所有媒体填充此字段?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们正在从Hybris 5.1迁移到5.5

我们的应用程序的一部分要求我们访问媒体的文件位置。 我们为此使用mediaService.getFiles。 但似乎此方法现在首先调用hasData(media),这似乎要求媒体的internalURL等于复制的273654712。

hasData =" replicated273654712" .equals(mediaSource.getInternalUrl());

我在另一篇文章中读到internalURL是5.3中的新属性

所以我的问题是:如何为所有媒体填充此字段?

付费偷看设置
发送
8条回答
d56caomao
1楼 · 2020-09-09 15:33.采纳回答

嗨,

这应该与URL相同,media.setURL()将设置该值。 URL是动态的,并使用以下代码:DynamicAttributesMediaUrl

太Q了
2楼-- · 2020-09-09 15:43

DynamicAttributesMediaUrl.getURL调用mediaService.getUrlForMedia,该媒体首先检查完全相同的hasData(media)

具有讽刺意味的是,如果" replicated273654712" .equals(mediaSource.getInternalUrl());这将返回旧值。 但由于我的internalURL为null,因此会返回internalURL

如果(hasData(media))返回MediaManager.getInstance()。getURLForMedia(media.getFolder()。getQualifier(),新ModelMediaSource(media)); 否则返回media.getInternalURL();

路亽曱_Ryan
3楼-- · 2020-09-09 15:33

从4.8升级到5.5时,我们也遇到了同样的问题 我直接在数据库中更新了它。 例如

 更新媒体集p_internalurl ='replicated273654712'其中p_internalurl为null;
  

我确实在Hybris支持下进行了检查,他们确认这是使媒体重新工作的正确方法。

暮风yp
4楼-- · 2020-09-09 15:43

我们已经完成了从5.7到6.4的升级,并且我在表Medias中检查了属性值,所有行的属性值都已复制273654712。请告诉我,是否需要任何配置 来显示站点中的图像

My梦
5楼-- · 2020-09-09 15:47

是的,但是您可以通过调用setURL来设置值并控制设置的值。 我想这是您的问题,如何填充它? :)

小灯塔
6楼-- · 2020-09-09 15:49

确实,我在发布后才意识到这一点。

我在发行说明中找不到任何东西,这很奇怪。 猜猜我会为此写一份工作。

木偶小白
7楼-- · 2020-09-09 15:45

以下查询为所有媒体设置内部网址。

更新媒体集P_INTERNALURL ='replicated273654712'其中P_INTERNALURL为空

一周热门 更多>