Как отправить двоичный файл в виде файла с помощью 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'
}