Flask-SocketIO发送图像

Bri*_*eng 1 flask python-3.x flask-socketio

我目前正在使用Flask-SocketIO通过Internet发送内容的项目,但是遇到了这个问题。

题:

有什么办法可以在Flask-SocketIO中发送图像?我做了一些谷歌搜索,但是对我来说没有运气。

Mig*_*uel 6

Socket.IO是与数据无关的协议,因此您可以发送任何类型的信息。文本和二进制有效负载均受支持。

如果要从服务器发送图像,可以执行以下操作:

with open('my_image_file.jpg', 'rb') as f:
    image_data = f.read()
emit('my-image-event', {'image_data': image_data})
Run Code Online (Sandbox Code Playgroud)

客户端必须知道您正在发送jpeg数据,Socket.IO协议中没有任何内容可以使发送图像不同于发送文本或其他数据格式。

如果您使用的是JavaScript客户端,则将以字节数组形式获取数据。其他客户端可能为此数据选择最合适的二进制表示形式。