【问题标题】:Is there a stable solution for loading images in SAP UI5 App?在 SAP UI5 App 中加载图像是否有稳定的解决方案?
【发布时间】:2019-04-18 14:26:00
【问题描述】:

Images 文件夹包含许多图像,例如 xxx.png、yyy.png 等。

Image src="./images/xxx.png" 在我测试和部署到 SCP 后效果很好。但是,当我将应用程序注册到 Launchpad 并从那里打开它时,同样的方法不起作用。为什么图片加载不出来?

我在网络中看到以下内容:

Component.js 正在从

加载

https://xxxxxx-yyyyy.dispatcher.eu3.hana.ondemand.com/sap/fiori/workbox/Component.js?ts=1.0.143 状态为 200

但图像正试图从

https://xxxxxx-yyyyy.dispatcher.eu3.hana.ondemand.com/images/xxx.png

https://xxxxxx-yyyyy.dispatcher.eu3.hana.ondemand.com/images/yyy.png 导致 404。相反,我应该在以下网址上点击。

https://xxxxxx-yyyyy.dispatcher.eu3.hana.ondemand.com/images/sap/fiori/workbox/images/xxx.png

我尝试将 Image src 更改为 src="./images/xxx.png" 和 src="/images/yyy.png"。但是,相同的旧 URL 被命中并导致 404。

为什么会这样?为什么 component.js 和图像是从不同的根目录加载的?我发现很多答案建议使用 jQuery.sap.getModulePath("com.xxx.Component") 但这对我没有帮助。它返回给我https://sapui5.hana.ondemand.com/resources/com/xxx/Component,这没用。

【问题讨论】:

    标签: sapui5 sap-fiori


    【解决方案1】:

    旧帖子,但让我试着帮助你。

    为了从本地项目文件夹结构中检索文件,您需要计算它们的正确路径。这与 FLP 环境相关,因为应用在加载时会分配动态路径。

    sap.ui.require.toUrl 是一个可以为您解决问题的神奇函数。

    此函数需要一个路径作为输入参数,并将其转换为 FLP 内的工作路径。请参阅method description

    示例

    <Image src="{
      value: 'your/name/space/images/xxx.png',
      formatter: 'sap.ui.require.toUrl'
    }" />
    

    sap.ui.require.toUrl 正在替换自 UI5 1.58 以来的 deprecated jQuery.sap.getModulePath

    从 1.61 版开始,可以通过属性绑定中的value 将静态值传递给格式化程序函数,如问题Pass Static Value to Formatter Parameters in XML View 中所述。

    如果格式化程序不适合您,您可以尝试在控制器中调用该函数并将计算出的路径存储在本地 JSONModel 中。这个我没测试过,原理应该是一样的。

    祝你好运!

    P.S.;第一篇文章。非常欢迎任何关于改进的反馈:)

    【讨论】:

    • 欢迎来到 SO! :) 感谢您的回答,看起来不错!我没有剩下的选票了。只要我有一些,我会投票!
    • 我认为在这种情况下不需要自定义格式化程序。 formatter: 'sap.ui.require.toUrl' 也可以工作,因为该函数是全局可用的。
    • 感谢您的编辑和精益解决方案。我测试了它,它工作得很好! :)
    • 绝妙的解决方案。我正在阅读有关 $modulePath 解决方案的信息,但它似乎已经过时了,然后我找到并测试了您的解决方案。谢谢!
    猜你喜欢
    • 2016-02-07
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    相关资源
    最近更新 更多