python requests 发送多文件

一、使用方法

发送多文件推荐使用的files格式

requests.post(url:str,files:List[Tuple[str,Tuple[str,bytes,str,dict]]])

举个例子

files = [
    # (服务器取文件用的key, (filename, fileobj, contentype, custom_headers)),
    ('files', ('会议.ppt', open('会议.ppt',mode='rb'),)),
    ('files', ('会议记录.docx', requests.get('http://some_oss.com/会议记录.docx').content,)),
    ('files', ('签到表.xlsx', open('签到表.xlsx',mode='rb').read(), )),
    ('other_key', ('test.txt', open('test.txt',mode='rb'), )),
    ('other_key', ('run.exe', open('run.exe',mode='rb'), )),
]

二、fileobj

就像上面例子里的一样,可以是open的fp,也可以是读取好的二进制bytes

如果用fp.read的话最好mode='rb',即使文本文件也二进制读

三、服务器取文件用的key是什么?

如果服务器是flask,就会有如下结果

flask.request.files.getlist('files')
# 运行结果
[<FileStorage: '会议.ppt' (None)>,<FileStorage: '会议记录.docx' (None)>,<FileStorage: '签到表.xlsx' (None)>]

flask.request.files.getlist('other_key')
# 运行结果
[<FileStorage: 'test.txt' (None)>, <FileStorage: 'run.exe' (None)>]

参考文章

python的requests发送/上传多个文件

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值