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

JMeter创建同时发送JSON与文件的HTTP请求失败问题

解决JMeter中同时发送JSON数据与文件时JSON部分丢失的问题

问题原因

JMeter默认的Files Upload面板无法为非文件类型的form-data字段添加filename属性,导致JSON部分的请求头不符合服务端要求,最终被忽略或丢失。

解决方案:手动构造Multipart请求体

  1. 配置HTTP请求

    • 方法选择POST,填写目标请求URL。
    • 取消勾选"Use multipart/form-data for POST"(我们将手动构造完整请求体)。
  2. 添加HTTP Header Manager

    • 添加头信息:Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryooARNALDyzj0QAAl(边界值可自定义,但需与请求体中的边界完全一致)。
  3. 在Body Data中构造完整请求体
    将以下内容填入HTTP请求的"Body Data"区域,替换占位符为实际内容:

    ------WebKitFormBoundaryooARNALDyzj0QAAl
    Content-Disposition: form-data; name="case"; filename="blob"
    Content-Type: application/json
    
    {"key1": "value1", "key2": "value2"}  # 替换为你的实际JSON数据
    ------WebKitFormBoundaryooARNALDyzj0QAAl
    Content-Disposition: form-data; name="files"; filename="Test.txt"
    Content-Type: text/plain
    
    ${__FileToString(/path/to/Test.txt,,)}  # 替换为你的文件路径,用JMeter函数读取文件内容
    ------WebKitFormBoundaryooARNALDyzj0QAAl--
    

注意事项

  • 确保Content-Type头中的边界值和请求体里的边界值完全一致,包括前后短横线的数量。
  • JSON数据需保证格式正确,无语法错误。
  • 使用__FileToString函数时,文件路径需准确支持绝对路径或相对JMeter脚本的路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 23:29:55