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

如何在Postman GET脚本中将Base64学生照片导出为JPG文件

实现方法

Postman的GUI沙箱出于安全限制无法直接写入本地文件,所以自动保存需依赖Newman(Postman命令行工具);如果只是临时测试,也可以用GUI生成下载链接手动保存。以下是具体方案:

方法一:Newman命令行自动保存(推荐,实现完全自动化)

1. 编写Tests脚本

在你的GET请求的Tests标签页中添加以下代码,根据响应结构调整字段:

// 1. 解析响应(假设返回JSON格式:{"id":"123456", "image":"Base64字符串"})
const resData = pm.response.json();
const studentId = resData.id; // 替换为你实际的学生ID字段名
let base64Str = resData.image;

// 2. 去除Base64前缀(如果响应里带了"data:image/jpeg;base64,"这类前缀)
base64Str = base64Str.replace(/^data:image\/jpeg;base64,/, '');

// 3. 引入文件系统模块,准备保存文件
const fs = require('fs');
const path = require('path');
// 定义保存路径,这里会在当前目录下创建student-images文件夹
const saveDir = path.join(__dirname, 'student-images');
const savePath = path.join(saveDir, `${studentId}.jpg`);

// 确保文件夹存在,不存在则自动创建
fs.mkdirSync(saveDir, { recursive: true });

// 写入文件
fs.writeFileSync(savePath, base64Str, 'base64');
console.log(`照片已保存至:${savePath}`);

特殊情况处理:如果响应是纯Base64文本(非JSON),直接用responseBody代替resData.image;学生ID如果来自请求参数/URL路径,比如请求URL是https://xxx/students/123456/photo,可以这样获取:

const studentId = pm.request.url.path[2]; // 根据实际路径索引调整
const base64Str = responseBody;

2. 安装Newman

打开命令行执行:

npm install -g newman

3. 导出集合并运行

  1. 在Postman中右键你的请求集合,选择Export,导出为v2.1格式的JSON文件
  2. 命令行运行集合,触发脚本自动保存文件:
newman run 你的集合文件名.json

运行完成后,照片会自动保存到指定的student-images文件夹下。

方法二:Postman GUI生成下载链接(手动保存,适合快速测试)

如果只是临时验证,不想用命令行,可以在Tests脚本里生成可视化下载链接:

const resData = pm.response.json();
const studentId = resData.id;
let base64Str = resData.image.replace(/^data:image\/jpeg;base64,/, '');

// 构建可视化HTML内容
const htmlContent = `
<div>
  <h4>学生ID:${studentId}</h4>
  <a href="data:image/jpeg;base64,${base64Str}" download="${studentId}.jpg">点击下载照片</a>
  <br><br>
  <img src="data:image/jpeg;base64,${base64Str}" width="250">
</div>
`;

// 在Visualize标签页渲染内容
pm.visualizer.set(htmlContent);

发送请求后切换到Visualize标签页,就能看到带预览的下载链接,点击即可保存为对应ID的JPG文件。

关键注意事项

  • 必须去除Base64字符串的data:image/jpeg;base64,前缀,否则保存的文件无法正常打开
  • Newman运行时,__dirname指的是命令执行的当前目录,可根据需要调整保存路径
  • 如果响应格式不是JSON,要对应修改响应体的读取方式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 21:02:18