[英]How to send PG binary data from the Rails controller?
我有一个带有 PostGIS 扩展的 Postgres 数据库和一些地理数据。 我需要生成自定义SQL查询(用砖ST_...
功能),即返回二进制数据( bytea
,像\\x1a320a0474657374121d12020000180322150946ec3f1a14453b0a09280f091413121e09091e0f1a026331220228012880207802
)。 我需要将这些数据从我的 Rails 控制器发送给请求者,标题是'Content-Type: x-application/protobuf'
。
所以,我的问题是:
1)如何从数据库中获取二进制数据( Sequel
, ActiveRecord::Base.connection.execute
?) 2)如何在控制器动作中返回这些数据? ( send_data ..., tyle: ''
?)
谢谢!
我刚刚想出了解决方案 - 希望它有所帮助,虽然这是很久以前的事了..
records_array = ActiveRecord::Base.connection.execute(query)
result = records_array[0]['st_asmvt']
encoded = ActiveRecord::Base.connection.unescape_bytea(result)
ActiveRecord::Base.connection.unescape_bytea
就是答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.