requests单个图片上传、excel文件上传
1.方法一
def uploadFileApi(token,filename,baseurl =getattr(GetData,"url")):
url = baseurl + "/dfs/uploadFile"
headers = {"Authorization": "Bearer " + token}
filepath = os.path.join(projectpath.project_path,"test_data","pic",filename)
m = MultipartEncoder(fields={
"file":(filename,open(filepath,'rb').read()),
"fileName":filename})
headers["Content-Type"]=m.content_type
res = requests.post(url=url,headers=headers,data=m)
return res
2.方法二(file与其他data同时上传)
def addCustomerApi(get_access_token,data,baseurl=getattr(GetData,"url"),filename="keli.png"):
headers = {"Authorization":"bearer "+get_access_token}
url = baseurl+"/wd/customer/addCustomer"
filepath = os.path.join(project_path,"test_data","pic",filename)
data['fileList'] = (filename,open(filepath,'rb').read())
encode_data = encode_multipart_formdata(data)
headers["Content-Type"]=encode_data[1]
res = requests.post(url=url,data=encode_data[0],headers=headers)
MyLog.info("调用 addCustomerApi,响应码:{},响应时间:{},响应的正文是:{}".format(res.status_code,res.elapsed.total_seconds(),res.text))
return res
requests多文件上传:
def uploadFileListApi(token,fileNameList:list,baseurl =getattr(GetData,"url")):
url = baseurl + "/dfs/uploadFileList"
headers = {"Authorization": "Bearer " + token}
fileslist=[]
for filename in fileNameList:
filepath = os.path.join(projectpath.project_path,"test_data","pic",filename)
tuple=("files",(filename,open(filepath,'rb').read()))
fileslist.append(tuple)
m = MultipartEncoder(fields=fileslist)
headers["Content-Type"]=m.content_type
res = requests.post(url=url,headers=headers,data=m)
MyLog.info("调用 uploadFileListApi,响应码:{},响应的正文:{}".format(res.status_code, res.text))
assert res.status_code == 200
return res