接上篇文章,写下接口需要上传附件要怎么做,直接先上代码,下面再详细解释
header里面不要加:Content-Type=multipart/form-data !!!
${data} Get From Dictionary ${content} data #获取data信息
${tokenId} Get From Dictionary ${data} tokenId #tokenId
${file1} Evaluate (r'a.xlsx', open(r'D:/d.xlsx', 'rb'),'excel/xlsx')
&{files} Create Dictionary file=${file1}
log ${files}
&{datas} Create Dictionary tokenId=${tokenId}
Create Session API ${HOST}
${res} Post Request API /file/v2/upload-file data=${datas} files=${files}
Comment log ${res.text}
如上面的代码,主要是
${file1} Evaluate (r'a.xlsx', open(r'D:/orsd.xlsx', 'rb'),'excel/xlsx')
python官方推荐的格式
{
"field1" : ("filename1", open("filePath1", "rb")),
"field2" : ("filename2", open("filePath2", "rb"), "image/jpeg"),
"field3" : ("filename3", open("filePath3", "rb"), "image/jpeg", {"refer" : "localhost"})
}
这个字典的key就是发送post请求时的字段名, 而字典的value则描述了准备发送的文件的信息;从上面可以看出value可以是2元组,3元组或4元组;
这个元组的每一个字段代表的意思一次为:
("filename", "fileobject", "content-type", "headers")
缺省的话就使用默认值,同时request还支持一种简单的格式
{
"field1" : open("filePath1", "rb")),
"field2" : open("filePath2", "rb")),
"field3" : open("filePath3", "rb"))
}
上面的亦可写成
${file1} Evaluate (open(r'D:/ProgramData/workhome/rf-workhome/lllll/orsd.xlsx', 'rb'))