Загрузка и загрузка файла без сохранения с запросами python - PullRequest
1 голос
/ 17 апреля 2020

У меня есть веб-сервер, который действует как прокси между пользователями и файловым сервером. Пользователи могут загружать свои файлы на мой веб-сервер, а я загружаю их на файловый сервер. Я хочу иметь возможность сделать это без сохранения временного загруженного файла, но каждый раз, когда я получаю неожиданную ошибку конца файла от файлового сервера. Это мой код (я использую django rest framework для своих API).

headers = {"content-type":"multipart/form; boundary={}".format(uuid.uuid4().hex)}
files = []
for f in request.FILES.getlist('file'):
    files.append((f.name, open(f.file.name,'rb'), f.content_type))
files_dict = {'file': files}

r = requests.post(url, files=files, headers=headers)

1 Ответ

2 голосов
/ 17 апреля 2020

Вы неправильно используете заголовок content-type в своем запросе. Нет необходимости вручную устанавливать multipart/form и boundary, если вы используете аргумент files из requests. Вот почему вы получаете неожиданную ошибку конца файла. Попробуйте отправить запрос без этого заголовка.

r = requests.post(url, files=files)
...