【问题标题】:Persisting PowerPoint, PDF, and such document files to Postgres database将 PowerPoint、PDF 和此类文档文件保存到 Postgres 数据库
【发布时间】:2018-09-29 07:05:42
【问题描述】:

我一直在寻找一种方法来保存各种文件类型,即:PDFJPEGPowerPoint,从使用 JDBC 的 Web 表单到 Postgresql 数据库。我在 Postgres 中遇到过二进制数据类型,但有人告诉我这不是最佳实践。

还有其他方法可以解决这个问题还是序列化是唯一的选择?

【问题讨论】:

  • 在这种情况下,您所说的“序列化”到底是什么意思?

标签: postgresql file persistence document


【解决方案1】:

在数据库中存储

如果您坚持将此类文档存储在内部数据库中,那么确实,the binary types 就是为此目的而存在的。当您拥有数据库无法通过many other data types 之一在语义上理解的数据时,二进制类型是后备。

Postgres 知道整数是什么,TIMESTAMP WITH TIME ZONE 是什么,geo-spatial coordinate 是什么,并且知道如何搜索和排序这些值,但 Postgres知道如何使 PowerPoint 或 PDF 文件具有任何意义或意义。从数据库引擎的角度来看,这些文件只是一堆难以辨认的位。

此类字段中的文件值以可爱的首字母缩写词闻名:BLOB,表示二进制大对象。

存储在数据库之外

一般来说,我见过的最佳实践是将此类文档在数据库之外存储在持久存储文件系统中。

在数据库中,存储一个表示文件系统路径或 URL 的字符串,以便在需要时找到该文件。

【讨论】:

  • 我的意思是将数据存入数据库,但我想是我将数据保存在数据库中还是文件中,我必须使用序列化,所以我可以看到这个问题令人困惑。我真的希望以某种方式将文件存储为对象,但我想我会采用文件系统的想法。谢谢
猜你喜欢
  • 2016-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-07
  • 2021-06-05
相关资源
最近更新 更多