【问题标题】:Get absolute media path programatically in hybris在 hybris 中以编程方式获取绝对媒体路径
【发布时间】:2018-04-10 14:17:05
【问题描述】:

我正在开发 Hybris 版本 5.4.0,特别是在导出我的数据的作业。我希望导出媒体的完整外部路径(即 URL)而不是相对路径

例如:/medias/sys_master/h76/hd6/8865465963102.jpg --> http://myserver:myport/medias/sys_master/h76/hd6/8865465963102.jpg

我已经在 Hybris Wiki 中看到了在语言环境中使用静态声明的方法,但我想以编程方式进行,因为我的应用程序可以在各种服务器和环境上运行。

我已经尝试过用 Java 获取服务器地址的常用方法(例如使用 INet),但没有成功。

最后,我在 HMC 中看到,我想要的确切信息显示在此处的末尾:

Copyright (c) 2000-2013 hybris AG - hybris   
Version:    null
    5.4.0.0
    Last compile: 20180410 1543
    Release date: 20141113 1921
Server: localhost:9101
Locale: English (United Kingdom) - en_GB
Timezone:   Central European Time - Europe/Paris

但它在 defaultContent_jsp.java(然后是 out.print(request.getServerName()+":"+request.getServerPort());)中捕获了一个 servlet 请求,我有办法将此信息传播到我的工作吗?

【问题讨论】:

    标签: url media hybris


    【解决方案1】:

    在属性文件中配置媒体 URL

    mycmssitemysite 更改为您各自的值

    media.mycmssite.http=https\://www.mysite.com
    media.mycmssite.https=https\://www.mysite.com
    

    在您的工作中使用 MediaUrlForSite

    • 获取当前会话站点
    • 获取 getMediaUrlForSite
    • 连接 getMediaUrlForSite 和 mediaURL

    @Resource(name = "cmsSiteService")
    private CMSSiteService cmsSiteService;
    
    @Resource(name = "siteBaseUrlResolutionService")
    private SiteBaseUrlResolutionService siteBaseUrlResolutionService;
    
    MediaModel media = ...
    final CMSSiteModel currentSite = cmsSiteService.getCurrentSite();
    
    final String mediaUrlForSite = siteBaseUrlResolutionService.getMediaUrlForSite(currentSite, true, "");
    
    String downloadURL = mediaUrlForSite + media .getURL()
    

    【讨论】:

    • 这并没有完全回答我的问题,因为我必须更改我正在使用的每台服务器的配置文件。尽管如此,我没有找到其他方法,因此我最终使用安装说明实施了您的解决方案,并且效果很好,因此感谢您的时间和帮助!
    • 我不明白你的用例。为什么不想更改配置文件?当您说 I have to change config file for each server I'm using 时,您是在谈论不同的 Hybris 设置(DEV、QA、UAT 等)还是多个集群节点?
    猜你喜欢
    • 2011-01-21
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多