【问题标题】:Uploading images to a specific place in a Java web server将图像上传到 Java Web 服务器中的特定位置
【发布时间】:2015-08-12 16:36:25
【问题描述】:

我正在开发一个 Java Web 应用程序。作为此 Web 应用程序的一部分,我有一个数据库,其中包含具有相关图像文件路径的对象。通过简单的拖放,我可以将这些图像放在我的网络服务器的images 文件夹中。他们在 Eclipse 中的路径似乎是 src/main/webapp/images

当我想在 JSP 页面中访问这些图像时,我只需使用 src="/images/fileName.png" 创建一个 img 标记,它就可以正常工作了。

这就是问题所在。我希望用户能够将自己的图像上传到 Web 服务器,将文件名存储在数据库中。我一直在寻找一种方法来做到这一点,但我无法找到详细的答案。我可以使用什么将图像写入我的 Web 服务器中的特定文件夹 images?提前致谢。

作为参考,这里是一个文件名的例子:/images/propane.png

这是我在 JSP 中调用它的一个例子:<img src="/images/propane.png">

我意识到这可能是一个基本问题,但我确实无法将图像存储在该特定目录中。

【问题讨论】:

    标签: java image jsp webserver openshift


    【解决方案1】:

    您需要注意,当您将应用程序的新版本部署到 OpenShift 时,上传到 src/main/webapp/images 的任何内容都将被删除。您可以从OPENSHIFT_DATA_DIR 保存和提供图像,这是您可以写入的唯一目录,在重新部署应用程序时不会被删除。您还需要注意,OPENSHIFT_DATA_DIR 中的文件不会在扩展的 OpenShift 应用程序中跨设备共享。因此,如果您的应用程序进行了扩展,您需要将用户上传的图像存储在 Dropbox 或 Amazon S3 之类的地方。

    有关如何通过 Java 应用程序从OPENSHIFT_DATA_DIR 提供图像的详细信息,请查看this questionthis OpenShift tutorial 的答案。

    【讨论】:

    • 非常感谢!我会查看您提供的这两个链接并进行测试。
    • 我尝试了 OpenShift 教程,但出现以下错误:
    • /var/lib/openshift/l3tt3rsAndNumb3rs/app-root/data/quartermaster (No such file or directory)
    • 您对如何进行,或者可能是什么原因有什么建议?
    • @jpabene 您是否通过 SSH 连接到服务器并验证该目录是否存在?看起来您正在尝试使用名为“quartermaster”的子目录,您是否创建了该目录?如果您的应用名称为“l3tt3rsAndNumb3rs”,/var/lib/openshift/l3tt3rsAndNumb3rs/app-root/data/ 将是 OPENSHIFT_DATA_DIR 路径。军需官目录不会在那里,除非您创建它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 2018-09-27
    • 2015-06-29
    • 2011-12-31
    • 1970-01-01
    • 2022-09-26
    相关资源
    最近更新 更多