Отправить изображение с помощью сокета, не сохраняя его - PullRequest
0 голосов
/ 08 февраля 2019

Я попытался с сохраненным файлом изображения (работает), а затем я попытался отправить только байты изображения (я не хочу сохранять изображение) и получил ошибку:

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 голосов
/ 08 февраля 2019

Вам не нужно открывать fm, так как он уже в памяти.Просто найдите начало буфера с fm.seek(0) и запишите его в сокет, как вы уже сделали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...