一般情况下是一次上传一个文件,今天遇到了一个要一次性上传多个文件的接口,记录一下我的做法。
使用了requests库
安装
pip install requests
接口文档
由于接口文档大概是这样的:
POST: host/api/upload
Headers: {
Auth: token
}
request body: {
workspace: {
"workspace_name": workspace_name
"workspace_permission": workspace_permission
},
file: [file1, file2, file3...]
}
使用方法
先说明这段伪代码,看了你应该就知道怎么用了。
import requests
url = "host/api/upload"
headers = {
"Auth": token
}
data = {
"workspace": {
"workspace_name": "workspace1",
"workspace_permission": "1"
},
file: (
('filename1', open(filepath1, 'rb')),
('filename2', open(filepath2, 'rb')),
('filename3', open(filepath3, 'rb')),
)
}
response = requests.post(url, headers=headers, files=data)
print(response.status_code, response.content)
本来我们应用使用requests.post()的data参数的,这里我们使用了files参数。
requests的官方文档中虽然没有说如何上传多个文件,但是说了同一个key的value是可以合并的。
image.png
requests中文文档地址:http://2.python-requests.org/zh_CN/latest/user/quickstart.html
所以,我们给file传递的是一个元祖,而非列表。
网友评论