requests上传文件,又要上传data的处理

时间:2020-08-02 11:12:44 来源:

【摘要】 requests上传文件,又要上传data的处理考必过小编为大家整理了关于requests上传文件,又要上传data的处理的信息,希望可以帮助到大家!

requests上传文件,又要上传data的处理

标签:for   方法   too   tools   nts   and   名称   loading   sni   

前话

最近在自己学着弄接口自动化框架,因为要封装一个发送请求的父类,其中有考虑到上传文件,以及同时上传文件,和传递其他字段数据,遇到点小问题 这里解决下。

实例的接口数据

参考文档
来自fastapi官方文档上传文件实例:https://fastapi.tiangolo.com/zh/tutorial/request-files/
https://www.cnblogs.com/sanduzxcvbnm/p/12781125.html

#!/usr/bin/env/python3
# -*- coding:utf-8 -*-
"""
@project: Api
@author: zy7y
@file: fapi.py
@ide: PyCharm
@time: 2020/8/1
"""

from fastapi import FastAPI, File, UploadFile, Form

app = FastAPI()


@app.post("/uploadfile/")
async def create_upload_file(file_excel: UploadFile = File(...), username: str = Form(...)):
    # 读取文件
    contents = await file_excel.read()
    # 保存本地
    with open(file_excel.filename, "wb") as f:
        f.write(contents)
    return {‘msg‘: ‘操作成功‘, "filename": file_excel.filename, ‘username‘: username}


if __name__ == ‘__main__‘:
    import uvicorn
    uvicorn.run(‘fapi:app‘, reload=True)

运行这个文件:可以通过http://127.0.0.1:8000/docs查看接口文档

参数名 参数说明 备注
file_excel 文件二进制对象 不能为空
username 用户名 不能为空
参数名 参数说明 备注
msg 操作结果
filename 文件名称
username 用户名
{
  "msg": "操作成功",
  "filename": "Python自动化开发实战.pdf",
  "username": "柒意"
}

使用Request请求该接口

#!/usr/bin/env/python3
# -*- coding:utf-8 -*-
"""
@project: apiAutoTest
@author: zy7y
@file: request_demo.py
@ide: PyCharm
@time: 2020/8/1
"""

import requests

# 上传文件接口
url = ‘http://127.0.0.1:8000/uploadfile/‘
# 上传非文件的参数数据
data = {
    "username": "柒意",
}
# 上传文件类型的参数数据, 下面的 ‘file_excel‘ 是上面接口中对应的请求参数里的文件对象中的参数名,
file = {‘file_excel‘: open(‘../data/case_data.xlsx‘, ‘rb‘)}

res = requests.post(url, data, files=file)
print(res.json())

结果:

/Users/zy7y/PycharmProjects/apiAutoTest/venv/bin/python /Users/zy7y/PycharmProjects/apiAutoTest/tools/demo.py
{‘msg‘: ‘操作成功‘, ‘filename‘: ‘case_data.xlsx‘, ‘username‘: ‘柒意‘}

Process finished with exit code 0

??注意:file_excel是接口请求参数中,接受文件对象的参数名

requests上传文件,又要上传data的处理

标签:for   方法   too   tools   nts   and   名称   loading   sni   

以上就是requests上传文件,又要上传data的处理的内容,更多资讯请及时关注考必过网站,最新消息小编会第一时间发布,大家考试加油!

上一篇      下一篇
前端相关推荐 更多>>
前端热点专题 更多>>
热点问答
国家公务员考试年龄限制是多少 公务员国考和省考考试内容有什么区别 函授大专学历能不能考公务员 国家公务员考试考点能自己选择吗 新闻学专业能报考2022年公务员考试吗 什么是联合培养研究生 什么是破格录取研究生 什么人不适合读研 研究生报名户口所在地填什么 研究生结业和毕业有什么区别
网站首页 网站地图 返回顶部
考必过移动版 https://m.kaobiguo.net