requests库通过post方法的files参数简化了文件上传的过程。支持同时上传多个文件,但是文件的key不能相同。文件的key需要服务端能够识别和处理。举例说明:
import requests
url = 'example.com/upload'
files = {
'file1': open('path/file1', 'rb'),
'file2': open('path/file2', 'rb'),
# 如果有更多文件,继续添加
# 'file3': open('path/file3', 'rb'),
}
response = requests.post(url, files=files)
在例子中,'file1'、‘file2’
是表单字段的名称,这个名称应该与服务器期望接收的文件字段名称相匹配并且不能重复。'path/file1'
是你要上传的文件的路径。注意,我们使用'rb'
模式(读取二进制)来打开文件,文件内容将被作为二进制数据发送,这需要和服务端的处理模式匹配上。另外,requests
库会自动处理文件的打开和关闭,所以不需要我们手动干预。