【问题标题】:Displaying Images Stored In OPENSHIFT_DATA_DIR显示存储在 OPENSHIFT_DATA_DIR 中的图像
【发布时间】:2014-06-17 12:19:55
【问题描述】:

我有一个不可扩展的 OpenShift 应用程序,它使用 jbosseap 卡式盒,还有 MySQL 和 PhpMyAdmin。我可以将图像文件上传并保存到 OPENSHIFT_DATA_DIR 中的文件夹,例如 OPENSHIFT_DATA_DIR/appimages/uploaded.png,但我无法使用 HTML img 标签显示上传的图像。

似乎无法获得在 OPENSHIFT_DATA_DIR 下上传的图像的正确路径。我 ssh-ed 到服务器,发现 OPENSHIFT_DATA_DIR,它评估为 /app-root/data/ (实际上是 /var/lib/openshift/5364c54ce0b8cd80180001f7/app-root/data/ )有点在应用程序的 webroot 之外(其中ROOT.war 部署到),即 /jbosseap/standalone/deployments/ROOT.war

因此,如果应用程序从 /jbosseap/standalone/deployments/ 运行,应用程序如何显示存储在 OPENSHIFT_DATA_DIR(即 /app-root/data/)中的图像,因为 /app-root 和 /jbosseap 是同一个父文件夹的兄弟姐妹。

我只需要使用 HTML img 标签来显示上传并保存在 OPENSHIFT_DATA_DIR 下的图像,例如 /appimages/uploaded.png,因为使用 src="/appimages/uploaded.png" 作为 img 标签不会显示图像。

【问题讨论】:

    标签: java openshift


    【解决方案1】:

    一种解决方案是编写一个 Servlet,它会从 $OPENSHIFT_DATA_DIR 读取图像并将其写入 OutputStream。您的 servlet 将映射到 /images/* 并提供所有图像。也可以参考这个问题How to configure static resources in jBoss AS 7

    【讨论】:

    猜你喜欢
    • 2014-01-08
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    • 2020-12-10
    • 2011-07-28
    • 1970-01-01
    相关资源
    最近更新 更多