一、JMeter上传文件
1、使用F12或抓包工具抓包对应接口
如下图为一个上传图片接口,抓包显示内容如下:

2、将抓包到的信息头内容填写到jmeter的HTTP信息头管理器

3、填写参数

由抓包的接口信息可了解到此上传文件接口为一个post接口,使用的Content-Type为multipart/form-data,将非上传文件的参数全部填写到HTTP请求的参数中,并勾选对POST使用multipart/form-data
4、切换到文件上传页面,填写上传文件参数
(1)选择要上传的文件的文件路径;
(2)将抓包到的上传文件参数的name填写到参数名称一项,Content-Disposition填写到MIME类型

  5、切换到高级页面,客户端实现方法选择Java

到这一步,大部分上传文件类接口执行后可发现结果正确,如上传正常,则不需要再看下面部分了。
 
二、修改源码参数化Content-Disposition的filename
查看抓包信息,可发现此接口固定了filename的值为blob,而不是默认文件名称。JMeter上传文件参数的filename只能默认文件名称,导致上传失败。
尝试将filename的值添加到信息头管理器或者参数均发现不可行。查找百度后发现此链接https://blog.csdn.net/defonds/article/details/41593253(参数化上传文件时的filename)可解决此问题。
以下为我在应用时的操作步骤:
1、使用jd-gui打开ApacheJMeter_http.jar
ApacheJMeter_http.jar文件路径:apache-jmeter-5.1.1\lib\ext
2、确认代码存在
找到ApacheJMeter_http.jar的PostWriter.java的writeStartFileMultipart,确认有此部分代码

 3、使用jd-gui反编译jar包

jd-gui点击file-Save All Sources,将整个ApacheJMeter_http.jar文件另存为压缩包

4、解压压缩包,找到对应文件
解压压缩包,得到ApacheJMeter_http.jar.src文件夹,找到PostWriter.java文件,使用编辑器,如vscode打开,找到writeStartFileMultipart
 

 5、修改源码

将write(out, (new File(filename)).getName());注释掉,添加一句write(out, nameField);,保存文件
 

 6、重新编译jar包,生成ApacheJMeter_http.jar

cmd切换到ApacheJMeter_http.jar.src文件下,执行jar -cvf ApacheJMeter_http.jar *,重新打包生成ApacheJMeter_http.jar
 

 7、替换ApacheJMeter_http.jar文件,并修改jmeter信息头

将ApacheJMeter_http.jar复制到apache-jmeter-5.1.1\lib\ext下替换原文件(记得备份原文件哦),重新打开jmeter,HTTP信息头管理器里的Content-Type值添加指定的filename,重新执行则可执行成功
 

如上图,已可执行成功,至此修改源码参数化Content-Disposition的filename使上传文件接口调通已完成。

JMeter上传文件,并修改源码参数化Content-Disposition 的 filename的更多相关文章

  1. SpringMVC上传文件的MultipartFile源码

    零.MultipartFile上传文件的具体实例如下: http://blog.csdn.net/swingpyzf/article/details/20230865 一.具体类和方法 上传文件主要方 ...

  2. Jmeter上传文件

    Jmeter上传文件 一.Fiddler抓包获取表单信息 操作被测系统,上传文件,Fiddler抓包获取提交表单信息如下:

  3. JMeter上传文件 点选form-data依旧失败的解决方法

    转子:https://blog.csdn.net/xingyunpi/article/details/77930476 这几天一直在调用JMeter上传文件的一个接口,一直出错,在网上找到一些文章说的 ...

  4. [上传下载] C# ImageUpload图片上传类教程与源码下载 (转载)

    点击下载 ImageUpload.zip 功能如下图片1.设置属性后上传图片,用法如下 /// <summary> /// 图片上传类 /// </summary> //--- ...

  5. jQuery插件之上传文件ajaxfileupload.js源码与使用

    在网页应用中,一般会用到上传文件或者图片什么的到服务器,那么可以用ajaxfileupload.js,但是在使用ajaxfileupload.js时候,当服务器返回的json带有&符号的时候, ...

  6. jmeter --上传文件

    jmeter-场景-上传文件-send-a-file 简要说就3点: POST请求 Request的参数都写在路径内,不写在表单里 上传的文件写在表单里 只要记住以上3点,也就避免了在设计脚本的时候走 ...

  7. node - 上传文件并且修改名称

    html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  8. Django上传文件和修改date格式

    上传大文件的时候: 修改date数据:

  9. 使用jmeter 上传文件

    1.上传图片至阿里云时参数使用的parameters ,所以http的消息头中并没有添加content-type ,如果消息头中添加了Content-Type: multipart/form-data ...

随机推荐

  1. 有什么数据恢复软件可以恢复CF数据

    虽然现在SD卡出现并且日益流行,但是CF卡(Compact Flash)作为一种存储设备,仍然是专业数码相机的主流标准.不仅是数码相机,CF接口还广泛用于PDA.笔记本电脑和包括台式机在内的各种设备. ...

  2. guitar pro系列教程(二十七):Guitar Pro教程之理解记谱法

    前面的章节我们讲解了很多关于Guitar Pro'的功能使用,今天小编还是采用图文结合的方式为大家讲解它的理解记谱法,对于很多新人来说,在我们看谱之前,我们肯定要先熟悉他的一些功能如何使用以及一些关于 ...

  3. 精尽 MyBatis 源码分析 - SqlSession 会话与 SQL 执行入口

    该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...

  4. JDK阅读之Enum

    JDK学习之Enum enum的使用 在没有enum之前如果想要定义一些常量,就会采用如下的方式 假设要定义四个常量表示不同的季节 public class SeasonWithoutEnum { p ...

  5. CentOS7.X 挂载磁盘 与Mysql 自动备份

    1.前言 搞了好几天终于弄了出来,简单记录一下.注意以下教程是在测试服务器基础上编写 如数据盘含有数据切勿使用此教程,如对命令行不熟悉的 不建议搞哈 .本文中的磁盘/dev/sdb为笔者测试服务器上的 ...

  6. 【2014广州市选day1】JZOJ2020年9月12日提高B组T3 消除游戏

    [2014广州市选day1]JZOJ2020年9月12日提高B组T3 消除游戏 题目 Description 相信大家玩过很多网络上的消除类型的游戏,一般来说就是在一个大拼图内找出相同的部分进行最大程 ...

  7. vue+element ctrl+s保存写法

    <el-input type="textarea" ref="inppp" v-model="values" placeholder= ...

  8. 洛谷P3901 数列找不同(莫队水题)

    重温下手感,判断区间是否全是不同的数字有两种做法,一个长度为len的区间不同的数字,参见HH的项链,一种是区间众数,参见蒲公英,是水题没错了.明天搞数据库,然后继续自己的gre和训练计划 #inclu ...

  9. 将Shiny APP搭建为独立的桌面可执行程序 - Deploying R shiny app as a standalone application

    目录 起源! 目的? 怎么做? 0 准备工作 1 下载安装R-portable 2 配置 Rstudio 3 搭建Shiny App 3.1 添加模块 3.2 写AppUI和AppServer 3.3 ...

  10. java并发编程实战《五》死锁

    一不小心就死锁了,怎么办? 在上一篇文章中,我们用 Account.class 作为互斥锁,来解决银行业务里面的转账问题,虽然这个方案不存在并发问题,但是所有账户的转账操作都是串行的,性能太差. 向现 ...