显示存储在OPENSHIFT_DATA_DIR中的图像

时间:2014-06-17 12:19:55

标签: java openshift

我有一个不可扩展的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 / since / app-root和/ jbosseap是同一父文件夹的兄弟。

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

1 个答案:

答案 0 :(得分:0)

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