我认为这里的问题是文件元素的名称。它应该是 docfile
. 。在卷曲示例中,您已将其传递给 docfile
但是在Python脚本中,您将其留给 file
.
更改此行:
files = {'file': open('file.ext', 'rb')}
为此:
files = {'docfile': open('file.ext', 'rb')}
题
我正在尝试通过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
请建议该怎么办?
我对卷曲和python了解不多 pycurl
因为它已经与卷曲一起工作。
请参考有关问题的更多详细信息 -
解决方案
我认为这里的问题是文件元素的名称。它应该是 docfile
. 。在卷曲示例中,您已将其传递给 docfile
但是在Python脚本中,您将其留给 file
.
更改此行:
files = {'file': open('file.ext', 'rb')}
为此:
files = {'docfile': open('file.ext', 'rb')}
其他提示
当您查看视图中的请求时,您可能会在request.files ['file']中看到它,因为我在标题文件中的设置不好,因此有问题。