Как отправить двоичный файл в виде файла с помощью requests.request POST?

У меня есть поле в db, которое содержит двоичный файл (то есть у меня нет файла, у меня есть только его представление в виде байтов). У меня есть сервер, который ожидает загрузки файла, поэтому вопрос в том, как я могу загрузить эти байты как файл? Как мне преобразовать эти байты в файл, чтобы отправить его на сервер?

Пример того, что у меня есть ->

   file = b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x05\xd8\x00\x00\x018\x08\x06\x00\x00\x00HD\x91\x99\x00\x00\x0cmiCCPICC'

Поле в django, которое мне нужно отправить

file = models.FileField(default='')

Я пытаюсь сделать это следующим образом ->

 tmp_file = open('tmp.pdf', 'wb')
 tmp_file.write(file)

 and then 
            response = requests.request(
                "POST",
                url,
                headers=headers,
                data=payload,
                files={
                    'file': (
                        open('tmp.pdf', 'rb'),
                    )
                }
            )

но я получил ошибку

raise ValueError("Данные не должны быть строкой.") ValueError: Данные не должны быть строкой.

Headers ->

headers = {
        'Authorization': 'Token ' + config['token'],
        'Content-Type': 'application/json'
        }
Вернуться на верх