Python запросит модуль, не в состоянии загружать файл на сервере django

StackOverflow https://stackoverflow.com/questions/19853503

Вопрос

Я пытаюсь загрузить файл на сервер Django Python через Python Client.

Я попробовал это -

import requests

url = 'http://wings.spectrumserver/sdm/lists'
files = {'file': open('file.ext', 'rb')}
r = requests.post(url, files=files)

Но почему -то это не работает. No error but no output/upload as well

Я успешно загружаю файлы в браузер и командную строку.

curl -i --form docfile=@localfilename http://wings.spectrumserver/sdm/lists

Пожалуйста, предложите, что делать ??

Я мало что знаю о Curl и Python, но, возможно, кто -то может предложить что -то, что является копией этой команды Curl в pycurl так как он уже работает с Curl.

Пожалуйста, обратитесь к более подробной информации о вопросе -

Загрузить файл на сервер Django с помощью curl

Это было полезно?

Решение

Я думаю, что проблема здесь - это имя элемента файла. Так должно быть docfile. Анкет В примере Curl вы прошли это как docfile Но в сценарии Python вы оставили его как file.

Изменить эту строку:

files = {'file': open('file.ext', 'rb')}

к этому:

files = {'docfile': open('file.ext', 'rb')}

Другие советы

Когда вы посмотрите на запрос в вашем представлении, вы можете увидеть его в reffer.files ['file'], у меня была проблема, потому что у меня была плохая настройка в файле заголовков.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top