【问题标题】:How To Serve Uploaded Images From OpenShift DATA_DIR如何从 OpenShift DATA_DIR 提供上传的图像
【发布时间】:2014-06-11 12:37:12
【问题描述】:

我的应用程序在 JBoss EAP 上运行,我想将图像上传到 OPENSHIFT_DATA_DIR,然后将它们的相对路径保存在 MySQL 数据库中,因为我需要构建图像的路径,然后在需要时将它们提供给浏览器。

如果我的 OPENSHIFT_DATA_DIR 路径是 /var/lib/openshift/5364c54ce0b8cd80180001f7/app-root/data/ 并且我希望 schoolpics/federaluniversity/uniben-1/ 在其中保存一个文件 logo.png 这样完整路径将是

/var/lib/openshift/5364c54ce0b8cd80180001f7/app-root/data/schoolpics/federaluniversity/uniben-1/logo.png

由于OPENSHIFT_DATA_DIR似乎在应用程序的webroot之外,如何在数据库中存储以及使用网页中图像的URL打开这一点。

【问题讨论】:

  • 这里所有问题的优先级相同。 “紧急”是无关紧要的信息。
  • 在公共目录中设置指向数据目录的链接。

标签: java openshift


【解决方案1】:

我对此问题的解决方案是创建一个 servlet 来提供来自 OPENSHIFT_DATA_DIR 的图像,该 servlet 还提供了一种将图像写入 OPENSHIFT_DATA_DIR 的方法,您可以查看此论坛帖子以获取更多信息:@987654321 @

【讨论】:

  • 谢谢。首先,我尝试将文件(上传到 tmp)移动到 OPENSHIFT_DATA_DIR 中的 schoolpics/federaluniversity/uniben-1/ 失败。代码日志在这里ur1.ca/hi8pd
  • 您是否在尝试将图像移动到该目录之前创建了该目录?
  • 我已确认目录路径已创建。似乎移动上传的文件失败了。
  • 图像现在保存到 OPENSHIFT_DATA_DIR 中名为 logos 的文件夹中,但我需要在 Ajax 客户端中显示它们。我尝试了 www.theappurl.com/logos/logo1.png 并获得了 404 响应页面。由于 OPENSHIFT_DATA_DIR 在 webroot 之外,有没有办法构建上传图像的路径?
  • 我也有类似的问题。我已经使用 Undertow 中的处理程序公开了我的数据目录,但是当我尝试访问我的文件时,我得到一个 404。服务器日志指出 WFLYCTL0180: Services with missing/unavailable dependencies
猜你喜欢
  • 2016-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-08
  • 2016-11-13
  • 1970-01-01
  • 2011-01-31
  • 2020-05-05
相关资源
最近更新 更多