阅读本文大概需要4分钟。
我们在做接口自动化测试的时候,经常会碰到文件上传接口和文件下载接口。
那么,文件接口跟普通接口有什么区别呢?又该如何实现呢?
〇、前言
文件上传/下载接口与普通接口类似,但是有细微的区别。
如果需要发送文件到服务器,例如:上传文档、图片、视频等,就需要发送二进制数据,上传文件一般使用的都是 Content-Type: multipart/form-data 数据类型,可以发送文件,也可以发送相关的消息体数据。
反之,文件下载就是将二进制格式的响应内容存储到本地,并根据需要下载的文件格式来写文件名,例如:F:/caituotuo-file.pdf。
一、文件上传接口
1. 接口文档
Request URL:/createfile
Request Method:POST
Content-Type:multipart/form-data
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| file | File | 是 | 文件 |
| title | String | 是 | 文件名称 |
| fileType | String | 是 | 文件类型:doc, docx, txt, pdf, png, gif, jpg, jpeg, tiff, html, rtf, xls, txt |
2. 代码实现
(1)实现步骤:
-
构造文件数据,通过open()函数以二进制方式打开文件
文件上传接口参数与普通post请求一样,需要写成Key和Value模式,Key为参数名称file(也是组件的name属性),Value为一个元组(与普通接口不同的地方)

"file": ( "caituotuo-file.pdf", # 元组第一个值为文件名称,没有则取None open(r"F:\caituotuo-file.pdf", "rb"), # 若第一

本文介绍了文件上传和下载接口的区别及实现方法。文件上传使用POST请求,Content-Type为multipart/form-data,通过构造文件数据和额外参数发送。文件下载通常为GET请求,接收到二进制响应内容后保存到本地。示例代码展示了如何使用requests模块进行操作。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



