我目前正在开发一个使用Flask-SocketIO通过互联网发送内容的项目,但我遇到了这个问题。
题:
有没有办法在Flask-SocketIO中发送图像?我做了一些谷歌搜索但没有运气给我。
Socket.IO是一种数据无关的协议,因此您可以发送任何类型的信息。支持文本和二进制有效负载。
如果要从服务器发送图像,可以执行以下操作:
with open('my_image_file.jpg', 'rb') as f:
image_data = f.read()
emit('my-image-event', {'image_data': image_data})
客户端必须知道您正在发送jpeg数据,Socket.IO协议中没有任何内容可以使发送图像与发送文本或其他数据格式不同。
如果您使用的是JavaScript客户端,则会将数据作为字节数组获取。其他客户端可以为此数据选择最合适的二进制表示。