• 实际项目案例:如何处理需要上传文件的类型接口?


    一、接口分析

      这里直接在前端进行上传,通过Chrome浏览器的F12开发工具进行抓包,可以看到上传文件接口的请求与相应信息,因为是公司的项目接口,会做一些马赛克处理:

    再看看请求参数:

    我们可以从请求中看到,请求方式为multipart/form-data表单格式,并且注意到,虽然上传了文件,但是请求参数中并没有展示文件路径和文件名,而且fileList值为“binary”,那么可以知道上传的为文件的字节内容

    二、postman示例

      以postman示例,body选择form-data选项,key填入fileList[]并选择格式为file,在value中选择一个本地文件进行上传,然后发起请求:

    结果接口请求成功~

    三、requests示例

    刚刚我们借助工具实现了上传文件的请求,postman中可以将我们的请求转化为python代码格式,具体步骤如下:

    1.先使用postman构建好参数并调试成功

    2.点击Save按钮下方的Code

    3.选择语言为Python - Requests后复制代码

    4.将复制后的代码粘贴到Pycharm或者VS code的开发工具中运行即可

    import os
    import requests
    
    from Commons.constants import UPLOAD_DIR
    
    url = "https://接口地址/1.0/product/style-gallery"
    
    payload = {}
    files = [
        ('fileList[]', open(os.path.join(UPLOAD_DIR, 'stylegallery.png'), 'rb'))
    ]
    headers = {}
    
    response = requests.request("POST", url, headers=headers, data=payload, files=files)
    
    print(response.text.encode('utf8'))

    至此就完成了文件上传接口的处理,后续进行测试或者接口自动化在此基础上进行二次开发即可~

  • 相关阅读:
    [转]shell getopts用法
    [转]KVM虚拟化原理探究
    [转]存储相关的一些概念解释
    [转]绑定设备到驱动
    [转] SCSI, FC, ISCSI协议
    [转译]zoned storage device
    CORS jsonp
    orange---openresty.---authorization,-129.0.1.227,jwt
    vue
    hive sqoop,sqoop-hive import data
  • 原文地址:https://www.cnblogs.com/xiaogongjin/p/13723491.html
Copyright © 2020-2023  润新知