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

PostMan调用gRPC服务前:读取本地图片转Base64及传参方法

在PostMan中实现gRPC请求前自动处理本地图片为Base64参数

步骤1:编写Pre-request Script脚本

在你的gRPC请求的Pre-request Script标签页中,填入以下代码:

// 替换为你的本地图片绝对路径,注意格式:
// Windows: file:///C:/Users/xxx/Desktop/test.jpg
// Mac/Linux: file:///Users/xxx/Desktop/test.jpg
const imageFilePath = "file:///你的图片绝对路径";

pm.sendRequest(imageFilePath, { encoding: "base64" }, (err, res) => {
    if (err) {
        console.error("读取图片文件失败:", err);
        return;
    }
    // 获取Base64编码字符串
    const base64Str = res.text();
    // 计算原始图片字节长度(Base64字符串长度不等于原始字节长度,需解码后计算)
    const imageBytesLength = atob(base64Str).length;
    
    // 将值存入环境变量,供gRPC消息调用
    pm.environment.set("imageBase64", base64Str);
    pm.environment.set("imageLength", imageBytesLength);
});

步骤2:在gRPC消息中引用变量

切换到Message标签页,按照你的gRPC proto定义,在对应参数位置用PostMan变量语法引用值:

{
  "image_base64": "{{imageBase64}}",
  "image_length": {{imageLength}}
}

提示:如果image_length是数字类型,不要加引号;如果是字符串类型则需要加引号,完全匹配你的proto字段定义即可。

注意事项

  • 必须使用绝对路径,且格式以file:///开头,否则PostMan无法读取本地文件
  • 网页版PostMan受浏览器权限限制,可能无法读取本地文件,建议使用桌面端PostMan
  • 不要直接用Base64字符串的长度作为image_length,因为Base64是3字节转4字符的编码,解码后计算的长度才是原始图片的真实字节数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 16:41:32