数据库上的数据存储:服务器上的 PostgreSQL "bytea" 到移动应用程序上的 SQLite "BLOB"
Data storage on DB: PostgreSQL "bytea" on Server to SQLite "BLOB" on Mobile App
我想在数据库上使用图像存储而不是 URL。
在我的服务器端,我使用 PostgreSQL 并且我 read here "bytea" 是用于存储文件的建议格式。
在我的移动应用端,数据库是 SQLite。好像数据存储建议格式有"BLOB"as described here。
我想知道,到目前为止我还不能清楚地找到,是否有任何从 PostgreSQL 的 "bytea" 到 SQLite 的 "BLOB" 的转换?
bytea
和BLOB
都是数据库中用于存储原始二进制数据的数据类型。它们不是编码,例如 base64 等,因此 本身 .
无需进行转换
然而,实际上您的应用程序将以至少 5 种形式处理此数据:
- 一个 PostgreSQL
bytea
列
- 您的 server-side 应用程序中的一个变量(可能是一个字符串或 byte-array)
- API 中的数据流,将您的服务器链接到您的客户端(可能以某种 ASCII-safe 形式编码,例如 base64)
- 您的 client-side 移动应用程序中的一个变量
- 一个 SQLite
BLOB
列
数据会依次流过这些表单,所以你需要担心的不是PostgreSQL到SQLite的转换,而是PostgreSQLto/fromserver-side语言,server-side语言 to/from API 编码等。如果您将服务器更改为使用 MySQL,或者将数据存储在单独的文件中,或者找到一种即时创建它的方法,则您不需要对您的移动应用程序进行任何更改;进程两端完全分开
这与使用正确的函数和明确理解编码一样重要,就像将文件存储到磁盘可能涉及程序环境操纵数据一样,但您只需编写 file.put(data)
或其他任何内容.
我想在数据库上使用图像存储而不是 URL。
在我的服务器端,我使用 PostgreSQL 并且我 read here "bytea" 是用于存储文件的建议格式。
在我的移动应用端,数据库是 SQLite。好像数据存储建议格式有"BLOB"as described here。
我想知道,到目前为止我还不能清楚地找到,是否有任何从 PostgreSQL 的 "bytea" 到 SQLite 的 "BLOB" 的转换?
bytea
和BLOB
都是数据库中用于存储原始二进制数据的数据类型。它们不是编码,例如 base64 等,因此 本身 .
然而,实际上您的应用程序将以至少 5 种形式处理此数据:
- 一个 PostgreSQL
bytea
列 - 您的 server-side 应用程序中的一个变量(可能是一个字符串或 byte-array)
- API 中的数据流,将您的服务器链接到您的客户端(可能以某种 ASCII-safe 形式编码,例如 base64)
- 您的 client-side 移动应用程序中的一个变量
- 一个 SQLite
BLOB
列
数据会依次流过这些表单,所以你需要担心的不是PostgreSQL到SQLite的转换,而是PostgreSQLto/fromserver-side语言,server-side语言 to/from API 编码等。如果您将服务器更改为使用 MySQL,或者将数据存储在单独的文件中,或者找到一种即时创建它的方法,则您不需要对您的移动应用程序进行任何更改;进程两端完全分开
这与使用正确的函数和明确理解编码一样重要,就像将文件存储到磁盘可能涉及程序环境操纵数据一样,但您只需编写 file.put(data)
或其他任何内容.