Pergunta

Estou tentando fazer upload de um arquivo para o Django Python Server através do Python Client.

Eu tentei isso -

import requests

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

Mas de alguma forma não está funcionando. No error but no output/upload as well

Estou carregando com sucesso arquivos por navegador e linha de comando.

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

Por favor, sugira o que fazer ??

Eu não sei muito sobre Curl e Python, mas talvez alguém possa sugerir algo que seja a réplica deste comando curl pycurl Como já está trabalhando com Curl.

Consulte aqui para mais detalhes sobre a pergunta -

Faça o upload do arquivo para o servidor Django usando o CURL

Foi útil?

Solução

Eu acho que o problema aqui é o nome do elemento de arquivo. Deveria ser docfile. No exemplo de Curl, você passou isso como docfile Mas no script python, você o deixou como file.

Altere esta linha:

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

para isso:

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

Outras dicas

Quando você olha para a solicitação em sua visualização, você pode vê -la no request.files ['arquivo'], tive um problema porque tive uma configuração ruim em um arquivo de cabeçalhos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top