2. 文件上传请求构建的格式
零、阅读前略读
1. 下方的名词介绍
- 单字段指的是:只有文件,没其他key
- 多字段指的是:有文件,也包括其他key
2. 传输格式介绍(看完下面的,回过头读比较明白)
目前files参数最基本传输格式有2种:字典类型、列表类型;
字典类型具体的格式为:{ key:value},key值为字符串,value值可以为元祖,或字典;
列表类型具体的格式为:最外层为[],内层中每个元素的格式为列表或元祖;
以下根据传输格式展开介绍
一、单字段发送单个文件
1、字典格式传递
官方推荐使用的字典参数格式如下:
这个字典的key就是发送post请求时的字段名, 而字典的value则描述了准备发送的文件的信息;从上面可以看出value可以是2元组,3元组或4元组;
这个元组的每一个字段代表的意思依次如下图所示 ;缺省的话则会使用默认值;一般情况下,我们只需要填写前三个字段,第四个字段暂时没遇上有什么用;
2、列表嵌套元祖(或列表)传递
后面封装时,使用就是列表中第一个的简写,传文件对象即可
格式小结:无论是使用字典还是列表格式,都只是为了将请求参数中的key和value值隔开,字典能写成{key:value},单个文件这么写没问题,但多个文件,key相同则语法错误,从而引出列表的这个传输格式(key,(参数1,参数2,参数3))
[
](https://blog.csdn.net/qq_36502272/article/details/90675314)
二、单字段发送多个文件
1、字典参数形式
2、元组列表形式
三、多字段发送单个或多个文件
上面介绍的是使用发送文件内容请求,而有时候我们在发送文件的同时还需要发送普通的数据字段,此时普通数据字段直接存在data参数中即可,把握一个原则就是:在post请求中,用files参数来接受文件对象相关的参数,非文件类型的字典key值,使用data传参,各传各的
参考文章:
CSDN:
https://blog.csdn.net/qq_36502272/article/details/90675314
https://www.cnblogs.com/bainianminguo/p/12099532.html
测试派:
http://testingpai.com/article/1611909535724
本文来自博客园,作者:中州韵,转载请注明原文链接:https://www.cnblogs.com/zhongzhouyun/p/14968057.html