gpt4 book ai didi

java - 如何存储文件并将其引用到java Web应用程序?

转载 作者:行者123 更新时间:2023-12-01 11:19:59 25 4
gpt4 key购买 nike

看起来存储文件是一种基本的事情,但我偶然发现了某些问题。这是我在JAVA编程时在服务器上存储文件的理解。

  1. 不能存储在mysql中,因为如果文件很大的话,不建议这样做。所以,我决定不选择这个。

  2. 也不建议将文件存储在容器中,例如 Tomcat 或 Wildfly,可能是因为它需要部署之类的原因??

  3. 你一定可以存储文件吗,Apache 文件服务器?我对此感到困惑。我们可以这样做,并将文件存储在这里,并将其引用到数据库吗?这是否与网站存储图像或文件的方式类似?

  4. 我也接触过一些数据库,比如NoSql,但是我没有深入研究,认为最后可能是错误的,我会把时间投入到其他东西上。

那么,在服务器中存储文件,在JAVA Web应用程序上引用它,并将其记录在数据库中的好方法是什么?

最佳答案

我们通常不会将文件放入数据库(NoSQL 或 RDBMS)中,因为它们不是文件系统。如果有人上传文件,您会将其存储在文件系统中,并可能将名称和其他元数据记录在数据库中以供将来使用。从技术上讲,您可以将文件的内容放入数据库中,它有自己的优点和缺点 - https://softwareengineering.stackexchange.com/a/150787/156860

不建议将上传的文件驻留在 Web/应用服务器中,因为您可能有多个服务器来处理负载,如果您将文件仅放在一台服务器中,则另一台服务器在访问内容时可能会遇到问题。如果一台服务器出现故障,该服务器中的文件将无法供其他服务器使用。您可能需要一个共享驱动器/磁盘,所有服务器都可以连接到该驱动器/磁盘并读取文件。

JavaEE 通过提供一个资源适配器来处理这个问题,该适配器抽象了应用程序如何与一般的“资源”(也可以是文件或其他资源)交互。但是,如果不详细了解文件类型、文件大小以及文件的使用方式,就很难找到问题的“最佳”解决方案。

关于java - 如何存储文件并将其引用到java Web应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31359083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com