Yapi cross-request支持文件上传的解决方案

背景

chrome 在 73 版本后,限制了 content-script 跨域请求目前只有一个解决办法,废弃 content-script 跨域请求,使用background.js 执行跨域请求,但这样有个最大的问题是无法支持文件上传。

问题

  1. cross-request不支持文件上传
  2. Yapi测试集合不支持文件上传,导致测试用例无法运行。

解决方案

**思路:**将需要上传的文件转化为Base64字符串,这样接口可以保存文件数据,测试集合也可以保存。

**改动:**修改cross-request插件,支持将Base64字符串转为文件格式上传。

使用方式

  1. 安装cross-request3.3版本的插件包,扫码后台回复cross-request获取插件下载地址Yapi cross-request支持文件上传的解决方案_第1张图片

  2. 接口编辑时form参数选择text类型,参数值为前缀data:text/plain;base64,加上文件的Base64数据Yapi cross-request支持文件上传的解决方案_第2张图片

  3. 接口运行时Content-Type类型为multipart/form-dataYapi cross-request支持文件上传的解决方案_第3张图片

注:不包含文件类型的数据时,Yapi会把Content-Type值改为application/x-www-form-urlencoded,可以手动改为multipart/form-data,保存到测试集合后就可以正常运行了。

你可能感兴趣的:(JS)