我有一个名为 的表photo
,其中包含 3 列
如何查看存储的图像?
(bytea) 类型列包含数据,如
'034\350sec\302\340s\221\\030seq\301\037\022\034seq`uence!V!\364s\030ett\241\376\001\310sho\214rt\224\204\002Tize\001\240\370sloDR#\024\002\020\023\273\003\240\360ourc\324\.................'
select * from pg_toast.photo
Run Code Online (Sandbox Code Playgroud)
某些图形数据库客户端会在转到表数据视图时向您显示图像。但是,在普通查询输出中(例如在 中psql
),您不能期望出现图像。否则,您必须“解码” bytea
.
这是gis.stackexchange.com上的示例解决方案(用 PHP 编写):
$conn = pg_connect("...");
$res = pg_query($conn, "SELECT chunk_data AS photo FROM photo WHERE ...");
$raw = pg_fetch_result($res, 'photo');
header('Content-type: image/jpeg');
echo pg_unescape_bytea($raw);
Run Code Online (Sandbox Code Playgroud)
笔记:
pg_toast
通常不是您直接从中查询的模式。存储在那里的内容有一个“父”表,请改为对它进行查询。然后,您可以在查询中使用合理的列名,依此类推。
归档时间: |
|
查看次数: |
1028 次 |
最近记录: |