我正在尝试通过python客户端将文件上传到django python服务器。
我试过了 -
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知之甚少,但也许有人可以在pycurl
中提出一些复制这个curl命令的内容,因为它已经在使用curl。
有关问题的详情,请参阅此处
答案 0 :(得分:1)
我认为这里的问题是文件元素的名称。它应该是docfile
。在curl示例中,您已将其作为docfile
传递,但在python脚本中,您将其保留为file
。
改变这一行:
files = {'file': open('file.ext', 'rb')}
到此:
files = {'docfile': open('file.ext', 'rb')}
答案 1 :(得分:0)
当您在视图中查看请求时,您可能会在request.FILES ['file']中看到它 我遇到了问题,因为我在头文件中设置不好。