正如标题所述,在 Java EE Web 应用程序中保存上传文件的首选方式是什么?我阅读了其他问题的一些答案,如果没有进一步解释,不建议将文件保存到 servlet 容器的文件系统。有人说你应该将它保存到数据库(但我对我之前读到的内容表示怀疑),有人说你应该使用 JCR,我能找到的唯一实现是 Apache JackRabbit,它似乎不是很活跃?
最好的选择是什么?除了提到的还有其他的吗?您选择其中一种而不是另一种的原因是值得赞赏的。
最佳答案
根据您的环境,您可能需要执行以下操作之一:
您的服务器位于云端。您需要使用共享云存储服务,例如 Amazon S3 (顺便说一句,它有一个很好的 API)
您托管在传统服务器上。在这种情况下,最佳实践是使用共享 NAS,但云存储也是一种选择,除非您的客户有监管问题
您主要处理许多小文件,并且希望它们可供搜索。对于这种情况,您将选择 BLOB 数据库列。
如果您正在处理大文件(例如视频),您可能需要考虑 NAS/云存储,并使用数据库作为 NAS/S3 位置的引用
<
使用这些选项的原因是您不想将数据沙箱到正在运行的实例中。此架构允许将应用程序的其他实例联机或进行简单的服务器迁移,但仍然可以访问共享数据。
关于java - 在 Java EE 应用程序中保存上传文件的首选方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16222426/