繁体   English   中英

如何从 Rails 控制器发送 PG 二进制数据?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM