【问题标题】:How to upload a file to the database using playframework in Scala如何使用 Scala 中的 playframework 将文件上传到数据库
【发布时间】:2012-10-01 17:15:50
【问题描述】:

使用 Play!2 和 Scala 处理文件上传到数据库的推荐方法是什么?

【问题讨论】:

  • 注解:根据我的经验,将文件直接存储在数据库中通常不是一个好主意。将它们存储在文件系统中并在数据库中存储引用(路径)通常更有效。
  • 在文件系统中存储文件是否可以很好地扩展?
  • 嗯,这就是文件系统擅长的。根据您的情况(许多小文件或几个大文件、大量读取或写入、大量创建和/或删除……)某些文件系统可能比其他文件系统更好,但这是一个完全不同的问题,并且不相关到数据库。
  • @HenryHenrinson 您可以使用分布式位置来存储文件,所以我认为它可以具有足够的可扩展性。正如 mhs 所写,在大多数情况下,将文件存储在 DB 中只是比 FS 更昂贵,尤其是当它们非常大时。当带有文件的数据库增长时,创建备份变得越来越可怕。数据库操作也会变慢。
  • 这是对的,存储在数据库中不是一个好主意。 Play1 提供了一种“将文件存储在数据库中”的简单方法,但实际上只存储了文件路径,文件本身位于目录中。我在 play2 anorm 包中看不到任何类似的机制。

标签: scala playframework playframework-2.0


【解决方案1】:

根据您的具体要求,MongoDB 的 GridFS 将以比任何关系数据库和文件系统更高效和可扩展的方式为您存储文件。

http://www.mongodb.org/display/DOCS/GridFS

有很多支持 GridFS 的 Play MongoDB 插件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多