jmeter-beanshell学习17-上传文件接口删请求头

jmeter也可以上传文件,但是遇到一个问题,单个上传文件的接口没问题,如果和其他接口放一起就不通了。先放一个上传文件的截图

红框的地方直接全勾上,上传文件的请求头是Content-Type=multipart/form-data,而且这个不能像常规那样,写在http信息头管理器里面,必须勾选这里的。

文件名称就是本地文件绝对路径,路径有中文好像不太好使,还是尽量都英文吧。参数名称是自己接口的参数名。MIME常见类型,放在下面了

|-----------------|---------------------------------------------------------------------------|
| .txt | text/plain |
| .jpg, .jpeg | image/jpeg |
| .png | image/png |
| .pdf | application/pdf |
| .doc | application/msword |
| .docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| .xls | application/vnd.ms-excel |
| .xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| .zip | application/zip |
| .mp4 | video/mp4 |

如果还有其他接口,而且写了一个公用的信息头管理器,那每个接口的默认请求头都是Content-Type= application/json,这个优先级还特别高,会导致上传附件报错。大概下面这种情况

这时候需要用beanshell去掉默认请求头,还是用JSR223 预处理程序,语言选择beanshell

java 复制代码
import org.apache.jmeter.protocol.http.control.HeaderManager;
// 获得请求头信息
HeaderManager headers = sampler.getHeaderManager();
// 删除请求头指定的信息
sampler.getHeaderManager().removeHeaderNamed("Content-Type");

放上这段代码就可以了

相关推荐
云贝教育-郑老师2 小时前
OceanBase 是如何搞定海量数据分片(Sharding)的?
学习·oceanbase·dba
编程圈子2 小时前
电机驱动开发学习23. 保护体系与故障状态机
驱动开发·学习
别动我齐刘海3 小时前
Day6 unitree_G1人形机器人GMR—— MotionInput
c语言·c++·人工智能·学习·机器学习·机器人·github
神秘的MT4 小时前
C# WinForm Socket 服务器 + 串口转发
服务器·网络·学习·c#
zzzll11114 小时前
0基础入门大模型:一份清晰的学习路线图
人工智能·学习·chatgpt
正经人_x5 小时前
学习日记48:DenseCLIP
学习
DevangLic6 小时前
monkeycode-使用说明
学习·ai
red_redemption7 小时前
自由学习记录(211)
学习
ThsPool8 小时前
【ENVI二次开发学习整理 02】IDL语言基础与程序设计
学习·中间件
AOwhisky8 小时前
Linux 网络服务架设学习笔记(第二期)——网络基础设施(下篇):DNS 服务器——权威、缓存与转发
linux·运维·服务器·网络·学习·云计算·dns