美文网首页
requests一次上传多个文件

requests一次上传多个文件

作者: 转身丶即天涯 | 来源:发表于2019-07-17 01:02 被阅读0次

    一般情况下是一次上传一个文件,今天遇到了一个要一次性上传多个文件的接口,记录一下我的做法。


    使用了requests库

    安装

    pip install requests

    接口文档

    由于接口文档大概是这样的:
    POST: host/api/upload
    Headers: {
    Auth: token
    }
    request body: {
    workspace: {
    "workspace_name": workspace_name
    "workspace_permission": workspace_permission
    },
    file: [file1, file2, file3...]
    }

    使用方法

    先说明这段伪代码,看了你应该就知道怎么用了。

    import requests
    
    url = "host/api/upload"
    headers = {
        "Auth": token
    }
    
    data = {
        "workspace": {
            "workspace_name": "workspace1",
            "workspace_permission": "1"
        },
        file: (
            ('filename1', open(filepath1, 'rb')),
            ('filename2', open(filepath2, 'rb')),
            ('filename3', open(filepath3, 'rb')),
        )
    }
    
    response = requests.post(url, headers=headers, files=data)
    print(response.status_code, response.content)
    

    本来我们应用使用requests.post()的data参数的,这里我们使用了files参数。
    requests的官方文档中虽然没有说如何上传多个文件,但是说了同一个key的value是可以合并的。


    image.png

    requests中文文档地址:http://2.python-requests.org/zh_CN/latest/user/quickstart.html

    所以,我们给file传递的是一个元祖,而非列表。

    相关文章

      网友评论

          本文标题:requests一次上传多个文件

          本文链接:https://www.haomeiwen.com/subject/mjcflctx.html