我正在开发一个已部署到OpenShift的应用程序。该应用程序是在Java上使用Tomcat服务器上的Struts2制作的。上传图片的路径类似于String path = Constants.OPENSHIFT_DATA_DIR + Constants.FOLDER_IMGS;
其中Constants.OPENSHIFT_DATA_DIR = System.getenv("OPENSHIFT_DATA_DIR")
和Constants.FOLDER_IMGS = "/userfiles/images/"
现在,它在前端http://wed-brorb1.rhcloud.com/var/lib/openshift/556015d8e0b8cd2184000015/app-root/data/userfiles/images/1434877615630.jpg
生成类似的内容,但是图片没有显示,这是错误的路径吗?我已经把头发拉出脑袋试图解决这个问题。
答案 0 :(得分:0)
该路径是您可以存储在重新部署应用程序时不会被删除的文件的地方。该路径不是以任何方式通过HTTP自动提供的位置。您无法使用该路径构建网址。您需要配置Web服务器以将http://wed-brorb1.rhcloud.com/images
之类的内容映射到本地$OPENSHIFT_DATA_DIR/userfiles/images/
目录。
另请注意,此目录不会在缩放应用程序中的所有OpenShift服务器上共享。将用户上传的文件存储在S3或Dropbox等共享位置更好。