2. 文件上传请求构建的格式

零、阅读前略读

1. 下方的名词介绍

  1. 单字段指的是:只有文件,没其他key

image.png

  1. 多字段指的是:有文件,也包括其他key

image.png

2. 传输格式介绍(看完下面的,回过头读比较明白)

目前files参数最基本传输格式有2种:字典类型、列表类型;
字典类型具体的格式为:{ key:value},key值为字符串,value值可以为元祖,或字典;
列表类型具体的格式为:最外层为[],内层中每个元素的格式为列表或元祖;

以下根据传输格式展开介绍

一、单字段发送单个文件

1、字典格式传递

官方推荐使用的字典参数格式如下:
image.png
这个字典的key就是发送post请求时的字段名, 而字典的value则描述了准备发送的文件的信息;从上面可以看出value可以是2元组,3元组或4元组;

这个元组的每一个字段代表的意思依次如下图所示 ;缺省的话则会使用默认值;一般情况下,我们只需要填写前三个字段,第四个字段暂时没遇上有什么用;
image.png

image.png

2、列表嵌套元祖(或列表)传递

image.png
后面封装时,使用就是列表中第一个的简写,传文件对象即可


格式小结:无论是使用字典还是列表格式,都只是为了将请求参数中的key和value值隔开,字典能写成{key:value},单个文件这么写没问题,但多个文件,key相同则语法错误,从而引出列表的这个传输格式(key,(参数1,参数2,参数3))

[

](https://blog.csdn.net/qq_36502272/article/details/90675314)

二、单字段发送多个文件

1、字典参数形式

image.png

2、元组列表形式

image.png

三、多字段发送单个或多个文件

上面介绍的是使用发送文件内容请求,而有时候我们在发送文件的同时还需要发送普通的数据字段,此时普通数据字段直接存在data参数中即可,把握一个原则就是:在post请求中,用files参数来接受文件对象相关的参数,非文件类型的字典key值,使用data传参,各传各的

image.png

参考文章:
CSDN:
https://blog.csdn.net/qq_36502272/article/details/90675314
https://www.cnblogs.com/bainianminguo/p/12099532.html

测试派:
http://testingpai.com/article/1611909535724

posted @ 2021-07-04 00:20  中州韵  阅读(194)  评论(0编辑  收藏  举报