【问题标题】:Where to store user profile images uploaded?在哪里存储上传的用户个人资料图片?
【发布时间】:2017-10-17 16:50:21
【问题描述】:

我有一个需要存储用户上传的个人资料图片的 JAVA 应用程序。 我的项目已经完成并且运行良好。

//in my LOCALHOST i use this path:
File file = new File("C:/myProject/uploads/profile_images"); 

所以,现在我要部署这个项目,我正在使用 jelastic 环境,问题是:

这些文件(图片)应该存放在我们的 Jelastic 什么地方?

  • 我已经尝试过相同的代码,但不起作用。
  • 我已经尝试将文件保存在 WebContent 文件夹中,可以工作,但是当我展开新的 .war 文件时,用户上传的文件会被覆盖。
  • 我阅读了有关在 mySql 中保存文件的信息,这是个好主意吗?

感谢您的关注。

【问题讨论】:

  • 为什么不使用相对文件地址?
  • 在数据库中,或者在 Amazon S3 或 Google Cloud Storage 等文件存储服务中。
  • 本地文件系统是持久的,但如果您的节点有它,请确保在“卷”中定义,以确保在映像重新部署期间保留文件。您也可以使用 Jelastic 存储节点,但只有在使用多个应用程序节点时才值得。
  • docs.jelastic.com/docker-volumes - 如果您的节点没有此功能,则它不是基于 Docker(尚未转换所有节点类型)
  • 很高兴它适合您。我已将我的 cmets 作为答案重新发布,因此您可以标记为已接受。它可能会帮助其他人在未来更轻松地找到解决方案。

标签: java file jelastic


【解决方案1】:

本地文件系统是持久的,但如果您的节点有它,请确保在“卷”中进行定义,以确保在映像重新部署期间保留文件。您也可以使用 Jelastic 存储节点,但只有在使用多个应用程序节点时才值得。

请参阅https://docs.jelastic.com/docker-volumes 了解有关如何使用卷功能的详细信息 - 如果您的节点没有此功能,则它不是基于 Docker(并非所有节点类型都已转换)。在这种情况下,您可以写入文件系统而不会丢失这些文件(即它的行为与专用服务器或本地开发机器相同)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-05
    • 2020-11-02
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 2014-04-14
    • 2014-12-20
    相关资源
    最近更新 更多