Как отправить двоичные данные PG с контроллера Rails?
У меня есть база данных Postgres с расширением PostGIS и некоторые геоданные в ней. Мне нужно генерировать плитки с пользовательскими запросами SQL (используя ST_...
функции), который возвращает двоичные данные (bytea
, лайк \x1a320a0474657374121d12020000180322150946ec3f1a14453b0a09280f091413121e09091e0f1a026331220228012880207802
). И мне нужно отправить эти данные с моего контроллера Rails запрашивающей стороне, с заголовками, такими как 'Content-Type: x-application/protobuf'
,
Итак, мой вопрос:
1) Как получить двоичные данные из базы данных (Sequel
, ActiveRecord::Base.connection.execute
?) 2) Как вернуть эти данные в действие контроллера? (send_data ..., tyle: ''
?)
Спасибо!
0 ответов
Я только что придумал решение - надеюсь поможет, хотя давно..
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
это ответ.