使用套接字发送图像而不保存

时间:2019-02-08 14:24:01

标签: python python-3.x sockets

我尝试使用保存的图像文件(可以正常工作),然后尝试仅发送图像的字节(我不想保存图像)并收到错误消息:

TypeError: expected str, bytes or os.PathLike object, not _io.BytesIO

这是我的代码:

frame = self.newFrame()
fm = BytesIO()
frame.save(fm, 'jpeg')
with open(fm, 'rb') as f:
    while True:
        si = f.read(1024)
        if si:
            self.conn.send(si)
        else:
            break

如何看到我尝试使用BytesIO演示文件,但无法正常工作……而且我不知道如何在不使用open()命令的情况下发送字节。

1 个答案:

答案 0 :(得分:1)

您不需要打开fm,因为它已经在内存中。只需尝试以fm.seek(0)到缓冲区的开头,然后像已经将其写入套接字一样即可。