You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JMeter中将上传图片转为Base64并通过HTTP Body发送至IM系统接口?

在JMeter中实现图片转Base64并调用更新API的方案

1. 准备测试图片

  • 把要测试的图片放到JMeter的bin目录,或者记下完整文件路径,方便后续调用。

2. 生成图片Base64编码

  • 在图片更新API的HTTP请求节点下,添加JSR223 PreProcessor
  • 语言选Groovy(性能最优),粘贴以下代码:
import java.nio.file.Files
import java.nio.file.Paths
import java.util.Base64

// 替换成你的图片路径,比如"E:/test.jpg"或者"test.jpg"(放bin目录时)
def imagePath = "test.jpg"
def imageBytes = Files.readAllBytes(Paths.get(imagePath))
def base64String = Base64.getEncoder().encodeToString(imageBytes)

// 把Base64字符串存到JMeter变量里,后面请求体直接用
vars.put("imageBase64", base64String)

3. 配置更新API的POST请求体

  • 假设接口用JSON格式传参(根据实际接口调整),请求体示例:
{
  "draftId": "${draftId}", // 这里用草稿创建API返回的ID,需要提前提取
  "imageData": "${imageBase64}"
}
  • 如果是表单提交,直接在表单参数里加imageData字段,值填${imageBase64}

4. 提取草稿创建API的draftId

  • 在图片草稿创建API的HTTP请求下,加JSON Extractor(返回是JSON的情况)
  • 配置项:
    • 引用名称:draftId
    • JSON Path表达式:$.draftId(替换成实际返回的draftId所在路径)
    • 匹配数字:1(取第一个结果)

5. 验证上传结果

  • 添加响应断言,检查返回状态码(比如200)或响应内容里的成功标识,确认图片是否上传成功。

内容的提问来源于stack exchange,提问作者Fluke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 12:43:23