问题标签 [bytea]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 Java 在 Postgresql 中存储和检索图像
我是 Java 编程新手,我正在搜索 Java 代码以在 PostgreSQL 中存储图像并检索图像。
在 PostgreSQL 中,我使用了 Bytea 数据类型。图像被存储。但是当我检索时,我得到了 NULL。我无法获取图像。
对此的任何示例或任何其他建议都会有所帮助。
postgresql - Postgres - 将 bytea PNG 列转换为 GeoTiff
我已将大量图块加载到 postgres 数据库中,以在图块服务器中使用。这些都以 PNG 格式加载到 bytea 列中。
我现在发现瓦片服务器代码需要这些是 GEOTiff 格式。
命令:-
gdal_translate -of GTiff -expand rgb -co COMPRESS=DEFLATE -co ZLEVEL=6
完美运行。
但是,大量数据已经加载到远程服务器上。那么我可以在数据库中进行转换,而不是检索每个文件并单独对它们使用 gdal_translate 吗?我知道 gdal 通过安装在我的服务器上的光栅支持与 postgis 2.0 集成。
如果没有,关于如何有效地做到这一点的任何建议。
c - 在 PostgreSQL 中准备、存储、检索加密数据
有谁知道如何正确准备将 BYTEA 数据类型插入到 postgresql 中?我有一个从 libmcrypt 生成的加密字符串。我希望将加密存储在定义为“cdata bytea not null”的表列中
我的核心与命令行完美配合,但现在我希望将加密存储在 RDBMS 中,作为对文件的操作。代码片段如下:
必须有一种方法可以成功插入和查询加密字符串以进行解密。
提前致谢。
c - 使用 libpq 库将图像发送到 postgresql db 中的 bytea 列时出错
我正在用 C 编码并使用 Postgresql 的 Libpq 库,我想将 PNG 图像以“bytea”类型存储到数据库中。我在网上搜索了几个小时,找不到一个很好的例子来处理这项工作,所以想写在这里并寻求你的帮助。
我有 12 个要绑定的参数,其中一个是 PNG 图像。其余的是 char*,它们没有问题。
以下是我到目前为止所尝试的。(我正在编写代码的必要部分):
它编译没有问题,但是在运行时将图像存储到数据库时,会发生经典的运行时错误:
“..._debug.exe 中 0x6d3dc220 处的未处理异常:0xC0000005:访问冲突读取位置 0x000000007f91e508。”
似乎与内存处理有关。
无论我尝试了什么,我都无法让它运行,也看不到我的错误。我是否必须使用 Oids 通过 PQexecParams 将二进制数据发送到 db?还是我缺少的其他东西?如果有人帮助我,我真的很感激。
提前致谢。
编辑:我刚刚意识到,如果我使用 Insert 语句,它工作得很好,但这个函数没有。通常它可以工作。奇怪的。
c - 从 Postgresql 数据库中检索图像文件返回插入两倍大的数据(通过 libpq 库)
我正在使用 Postgresql 数据库的 libpq 库,我在从 db 中检索 bytea 数据时遇到问题。我无法解决我的问题,所以想问你。每当我尝试将图像文件插入 db 并取回时,返回数据的大小始终是我发送的数据的 2 倍。实际上,确切的等式是:检索到的数据 = 发送的数据 * 2 + 2.(以字节为单位)。所以,我还想不通,我可能遗漏了一些东西:/
我使用的示例代码如下:
如果你们帮助我,我将不胜感激。我对寻找它的原因感到非常无聊。
提前致谢。
编辑:我跟踪存储在磁盘中的数据,插入数据的大小相同(58573 字节)。获取数据时,数据会变大两倍...
python - 在 Python 中解码一个二进制值,它将提供与 Postgres 解码相同的输出
我必须'9DAFF2834DDD73C18D79E31DE22F0D49DF13E525D3FFAE599530BECCD1B916FF'
在 python 中将值解码为十六进制:
为此我正在做
但是,postgres 的价值如下:
输出是:
Python 中是否有任何等价物可以提供与 Postgres 中相同的结果(Postgres 输出是一个 bytea)?
python - 如何将图像文件保存在 Postgres 数据库中?
出于学习目的,我正在使用 Python+Flask 创建一个站点。我想从数据库中恢复图像并将其显示在屏幕上。而是一步一个脚印。
我不知道如何将图像保存在我的数据库中。我的搜索只显示我必须bytea
在我的数据库中使用一种类型。然后我得到我的图像并以某种方式(??)将其转换为字节数组(bytea == 咬数组?)并以某种方式(??)在插入命令中使用该数组。
我能够发现(也许)如何在 Java(这里)和 C#(这里)中做到这一点,但我真的很想使用 Python,至少现在是这样。
有人能帮我吗?
这个网站上有很多这样的问题。但他们中的大多数(轻松超过 85%)被回答为“您不应该将图像保存在数据库中,它们属于 fs”并且无法回答问题。其余的并不能完全解决我的问题。因此,如果重复项有这种答案,请不要将其标记为重复项。
php - 将图像存储在 PostgreSQL 数据库中的 bytea 字段中
我使用 PHP 将图像存储在 PostgreSQL 数据库中,列类型为 bytea。问题是每次我尝试在浏览器中加载图像时它都不会出现。Firefox 开发者控制台显示图像被截断或损坏。
PHP代码:
我需要将上传的图像存储在数据库中-我实际上是在使用 heroku 谢谢
delphi - PostgreSQL 9.X bytea 以“hex”或“escape”表示缩略图
我的应用程序(在 Delphi 和 ZEOS 组件中开发)使用 PostgreSQL 8.4 并将一些缩略图图像存储到一个bytea
列中。
我想迁移到 PostgreSQL 9.2 并恢复转储,一切正常,除非我尝试检索这些图像:Postgres 9.2hex
用于输出表示,而不是escape
在 Postgres 8.4 中使用。
有两种可能的解决方案:更改 Postgres 9.2 的escape
表示设置或hex
通过应用程序更改二进制数据中的字符串。但是最好的解决方案是什么?为什么 PostgreSQL 9.X 改为hex
forbytea
表示?
这是一个简单的设置还是有技术原因?
sql - 使用 perl/SQL 将文件插入 Postgres bytea 列
我正在使用旧系统,需要找到一种方法将文件插入到使用 Perl 的预先存在的 Postgres 8.2 bytea 列中。
到目前为止,我的搜索使我相信以下几点:
- 对此没有共识的最佳方法。
- lo_import 看起来很有希望,但我显然太迟钝了,无法让它工作。
我希望做类似以下的事情
我的脚本没有 lo_import/bytea 部分。但是有了它,我得到了这个错误:
DBD::Pg::st 执行失败:错误:列“内容”的类型为 bytea,但表达式在字符 176 处 > 为 oid 类型 提示:您将需要重写或强制转换表达式。
我认为我做错的是我没有正确地将实际的二进制文件传递给数据库。我想我正在传递文件路径,而不是文件本身。如果这是真的,那么我需要弄清楚的是如何将文件打开/读入 tmp 缓冲区,然后使用缓冲区进行导入。
还是我离这里很远?只要它们与 Perl 5.8/DBI/PG 8.2 一起使用,我愿意接受任何指针或替代解决方案。