Как передать файл .png или .jpg через websocket в Tornado

Я новичок в Tornado и веб-сервисах в целом.
В моем приложении у меня есть клиент Qt / c ++ и python Tornado на стороне сервера. Клиент Qt отправляет команды в виде текстовых сообщений. На стороне сервера метод on_message получает сообщение, анализирует его и вызывает соответствующий скрипт для генерации изображения .png. Теперь я хочу отправить это изображение обратно клиенту вместе с кратким описанием изображения. Как мне сделать это на стороне сервера и клиента? Указатель на любой онлайн пример также будет полезен.
Благодарю.

0

Решение

Вы можете закодировать изображение в формате Base64 и отправить сообщение в формате JSON вместе с описанием.

На вашем сервере вы делаете

import base64

ws_client.write_message({
"img": base64.b64encode(img_data),
"desc": img_description,
})

А на вашем клиенте вы анализируете строку JSON и декодируете закодированное изображение Base64 для получения данных.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]