use*_*088 5 jpeg image zeromq pyzmq
我试图通过与pyzmq的ZeroMQ连接发送jpeg图像文件,但输出是输入大小的3倍,不再是有效的jpeg.我加载图像并发送...
f = open("test1.jpg",'rb')
strng = f.read()
socket.send(strng)
f.close()
Run Code Online (Sandbox Code Playgroud)
我收到并保存...
message = socket.recv()
f = open("test2.jpg", 'w')
f.write(str(message))
f.close()
Run Code Online (Sandbox Code Playgroud)
我是zmq的新手,我找不到有关发送图像的任何信息.有没有人通过ZeroMQ发送图像,或者有任何关于如何找到问题的想法?
小智 7
在发送文件之前,您可以"base64"对其进行编码并在接收时对其进行解码.
发送:
import base64
f = open("test1.jpg",'rb')
bytes = bytearray(f.read())
strng = base64.b64encode(bytes)
socket.send(strng)
f.close()
Run Code Online (Sandbox Code Playgroud)
接收:
import base64
message = socket.recv()
f = open("test2.jpg", 'wb')
ba = bytearray(base64.b64decode(message))
f.write(ba)
f.close()
Run Code Online (Sandbox Code Playgroud)