Question

J'essaie de télécharger un fichier sur Django Python Server via le client Python.

J'ai essayé ceci -

import requests

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

Mais en quelque sorte, cela ne fonctionne pas. No error but no output/upload as well

Je télécharge avec succès les fichiers par navigateur et ligne de commande.

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

Veuillez suggérer quoi faire ??

Je ne sais pas grand-chose sur Curl et Python, mais peut-être que quelqu'un pourrait suggérer quelque chose qui est une réplique de cette commande Curl en pycurl car il travaille déjà avec Curl.

Veuillez vous référer ici pour plus de détails sur la question -

Télécharger le fichier sur Django Server à l'aide de Curl

Était-ce utile?

La solution

Je pense que le problème ici est le nom de l'élément de fichier. Ça devrait être docfile. Dans l'exemple de curl, vous avez passé cela comme docfile Mais dans le script Python, vous l'avez laissé comme file.

Modifier cette ligne:

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

pour ça:

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

Autres conseils

Lorsque vous regardez la demande dans votre avis, vous pouvez le voir dans request.files ['file'] J'ai eu un problème car j'avais un mauvais paramètre dans un fichier d'en-têtes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top