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

如何在Postman中创建变量,实现本地文件在请求体中的复用

当然可以实现!Postman有几种实用方法能帮你自动加载本地文件到请求体,不用每次手动上传,我给你整理了两个最常用的方案:

方案1:通过前置脚本读取文件到变量(适合Raw/JSON请求体)

这个方法适合把文件内容(比如二进制文件转成base64)放到请求体的变量里,所有引用该变量的请求都能自动复用文件:

  • 第一步:先创建一个环境变量/全局变量,比如命名为filePath,值填你本地文件的绝对路径(比如Windows用C:/docs/test.pdf,Mac/Linux用/Users/you/docs/test.pdf,注意统一用正斜杠避免路径问题)。
  • 第二步:打开需要复用文件的请求,切换到「Pre-request Script」标签,添加以下代码:
const fs = require('fs');
const filePath = pm.environment.get('filePath');

try {
    // 读取文件为base64格式(适合二进制文件:图片、PDF、压缩包等)
    const fileContent = fs.readFileSync(filePath, 'base64');
    // 把文件内容存到另一个变量里
    pm.environment.set('localFileContent', fileContent);
} catch (err) {
    console.error('读取文件失败:', err.message);
    // 可选:如果读取失败,可以发送一个请求到echo接口记录错误
    pm.sendRequest({
        url: 'https://postman-echo.com/post',
        method: 'POST',
        body: {
            mode: 'raw',
            raw: JSON.stringify({ error: '文件读取失败', details: err.message })
        }
    });
}
  • 第三步:在请求体里引用变量,比如你用Raw JSON格式的话,就这么写:
{
  "file": "{{localFileContent}}"
}

如果是文本文件(比如TXT、JSON),可以把readFileSync的第二个参数改成'utf8',直接读取文本内容。

方案2:自动替换Form-data的文件字段(适合文件上传请求)

如果你的请求是用Form-data格式上传文件,也可以用脚本自动替换字段里的文件:

  • 同样先创建filePath变量存绝对路径。
  • 在请求的「Pre-request Script」里添加代码:
const fs = require('fs');
const filePath = pm.environment.get('filePath');

// 获取当前请求的Form-data参数列表
const formDataFields = pm.request.body.formdata;
// 找到你要替换的文件字段(把下面的"uploadFile"改成你的字段名)
const targetField = formDataFields.find(item => item.key === 'uploadFile');

if (targetField) {
    try {
        // 读取本地文件内容
        const fileBuffer = fs.readFileSync(filePath);
        // 设置文件的MIME类型(比如PDF是application/pdf,图片是image/png,根据你的文件改)
        fileBuffer.type = 'application/pdf';
        // 替换字段的文件内容
        targetField.value = fileBuffer;
        // 可选:显示文件路径在Postman界面
        targetField.src = filePath;
    } catch (err) {
        console.error('加载文件失败:', err.message);
    }
}
  • 提前在Form-data里添加好对应的文件字段(比如字段名uploadFile),初始可以随便选一个测试文件,脚本会自动替换成filePath变量指向的本地文件。
注意事项
  • 必须用Postman桌面版:网页版受浏览器安全限制,无法读取本地文件,只有桌面版支持fs模块读取本地文件。
  • 路径一定要是绝对路径:相对路径容易出错,尤其是跨操作系统的时候,统一用正斜杠更稳妥。
  • 二进制文件优先用base64:避免编码问题,确保文件内容能正确传输到服务器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:16:33