【问题标题】:Using images on Oracle APEX pages在 Oracle APEX 页面上使用图像
【发布时间】:2019-10-21 20:33:53
【问题描述】:

我在 APEX 中有一个使用许多外部图像的页面。我将该页面的所有图像加载到共享组件下静态应用程序文件中的一个单独文件夹中,我只是在页面上引用这些图像。我不确定我是否喜欢它,因为当您打开静态应用程序文件时它看起来很乱。有人建议我将图像加载到 SharePoint 并使用来自 APEX 的 URL 访问它们,但这似乎也不是一个好的解决方案 - URL 很长并且使代码混乱。另一种选择是将它们托管在应用程序服务器上。我正在尝试找出最好的方法,并希望听到一些建议。 提前感谢您的宝贵意见

【问题讨论】:

  • 我永远不会在代码中包含 URL(路径),将“基本 URL”放在应用程序属性中并在任何地方引用它。这样您就可以将图像移动到任何您想要的位置,并且您只需要更新一件事。

标签: oracle-apex


【解决方案1】:

另一种选择是将它们存储到数据库中表的BLOB 列中。

  • 专业版:
    • 它们与您的其他数据一起备份
    • Apex 在显示此类数据时很高兴(我的意思是,这样做是一项简单的任务,无论您是在交互式报表、经典报表、表单中显示它们...)。
  • 相反:
    • 数据库大小增加

【讨论】:

  • 根据我自己的经验,它的一种替代方法,但是如果文件名不受控制,尤其是如果所有图像都存储在同一个目录。如果他们被“分组”到他们自己的目录中,我无法决定它是稍好还是更差的选择。如果您在操作系统级别处理图像(并使用 Windows 资源管理器来操作这些文件),文件系统绝对没问题。如果您要通过 Apex 应用程序来实现...呵呵,那就更复杂了。
【解决方案2】:

如果您担心静态应用程序文件中的列表“混乱”,您可以保存一些报告过滤器:

  1. 报告“文件夹 XXX 图像”:

文件名如'xxx/%'

  1. 报告“其他文件”:

文件名不像'xxx/%'

【讨论】:

    【解决方案3】:

    您可以读取应用程序中列出的文件名,当用户“选择”时,您可以通过在数据库中加载 BLOB 来加载文件。 就我而言,我通过调用自定义操作系统作业来做到这一点。

    【讨论】:

      【解决方案4】:

      我们遇到了类似的问题,因为我们有一个功能,用户必须先上传图片,然后先将图片加载到数据库中。

      为了检索它们,我们使用了 APEX REST 服务,它运行良好。

      虽然我们还必须存储视频并且还必须在移动设备上提供它们,所以我们使用共享网络存储并将文件名放入数据库中。

      这些选项中的任何一个都应该减少“混乱”并正常工作。

      【讨论】:

        猜你喜欢
        • 2019-07-02
        • 2014-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多