Pregunta

Estoy tratando de subir un archivo al servidor Django Python a través del cliente Python.

Intenté esto -

import requests

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

Pero de alguna manera no está funcionando. No error but no output/upload as well

El navegador y la línea de comando cargan archivos con éxito.

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

Por favor, sugiere que hacer ??

No sé mucho sobre Curl y Python, pero tal vez alguien podría sugerir algo que es la réplica de este comando de curl en pycurl Como ya está funcionando con Curl.

Consulte aquí para obtener más detalles sobre la pregunta -

Subir el archivo en el servidor Django usando Curl

¿Fue útil?

Solución

Creo que el problema aquí es el nombre del elemento de archivo. Debería ser docfile. En ejemplo de curl, has pasado eso como docfile Pero en el guión de Python lo dejaste como file.

Altera esta línea:

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

a esto:

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

Otros consejos

Cuando mira la solicitud en su vista, puede verla en solicitud. Filos ['Archivo'] Tenía un problema porque tenía una configuración mala en un archivo de encabezados.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top