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

JMeter 5.5上传含特殊字符文件名的文件失败求助

JMeter 5.5上传含特殊字符文件名问题解决方法

针对POST请求上传文件名含é、è、à等特殊字符时被替换为“?”的问题,可通过以下步骤解决——这并非JMeter的原生限制,多由编码环境不匹配导致:

  • 修改JMeter启动参数
    在JMeter启动脚本(jmeter.bat或jmeter.sh)中添加JVM参数,同时设置文件编码和系统文件名编码:

    # Windows(jmeter.bat开头添加)
    SET JVM_ARGS="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"
    
    # Linux/macOS(jmeter.sh开头添加)
    export JVM_ARGS="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"
    
  • 配置HTTP请求采样器

    1. 在HTTP请求采样器的“参数”标签下,设置“Content encoding”为UTF-8;
    2. 切换到“高级”标签,勾选“Use multipart/form-data for POST”,确保表单提交格式正确。
  • 改用JSR223 PreProcessor(Groovy)配置文件
    放弃BeanShell,用Groovy脚本手动指定文件名,避免自动编码异常:

    def uploadFiles = []
    def fileArg = new org.apache.jmeter.protocol.http.util.HTTPFileArg(
        "/绝对路径/nameWithSpecialCharacters_éè.txt",  // 文件本地路径
        "file_1",  // 表单字段名
        "text/plain",  // 文件MIME类型
        "nameWithSpecialCharacters_éè.txt"  // 手动指定带特殊字符的文件名
    )
    uploadFiles.add(fileArg)
    sampler.setHTTPFiles(uploadFiles as org.apache.jmeter.protocol.http.util.HTTPFileArg[])
    
  • 调整系统终端编码

    • Windows:运行JMeter前执行命令chcp 65001切换到UTF-8编码;
    • Linux/macOS:执行export LC_ALL=en_US.UTF-8设置终端默认编码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 09:35:36