Не могу декодировать сообщение protobufjs

Я использую статический код (test_pb.js) для кодирования сообщения. Выглядит так:

var proto = require('../protojs/test_pb');
let msg = {testMessage: 'something'};
let msg_proto = proto.test_pb.TestMessage.create(msg);
let buffer = proto.test_pb.TestMessage.encode(msg_proto).finish()

Это сообщение Uint8Array, затем я делаю POST-запрос с Content-type: application/octet-stream и Accept: application/octet-stream. Этот почтовый запрос получает ответ, который выглядит следующим образом:


IHDR��a�IDAT8�u��o�W���츐4�y�J�,�P   �!"sزE2���Z��R��T�@�����)TՊ�:C�4�����e�HWzz���{�9O@/�3P<��|��5�&�m�-Ig$9`ff+++z���������Ą���D�I���Z@���ݝ��E?00���"�ϳ��� 5��������`��].^�DW&�$~�~�V��P!ݙ`Q�����=���1
�V����67Uy�N����iIff���I-//

Чтобы декодировать его, я должен использовать TestMessageResponse, но он не работает при выполнении:

let encoded = proto.test_pb.TestMessageResponse.decode(response.data);

Я показываю Ошибка: незаконный буфф. Когда я пытаюсь сделать:

let uint = new Uint8Array(response.data)

Пусто. Любые советы, что делать?

0 ответов

Другие вопросы по тегам