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

Postman/Newman执行文件上传请求如何从Azure Blob而非本地读取文件

目前Postman桌面端UI没有直接配置formdata文件源为远程URL的原生选项,不过可以通过以下两种方案实现你要的效果,不需要手动修改导出的集合文件:

方案1:使用集合前置脚本动态替换文件路径

这个方案可以实现集合通过Postman API拉取后直接在Newman中运行,无需额外操作:

  • 先在Postman集合变量中新增变量FILE_REMOTE_PREFIX,值填写你的Azure Blob存储文件访问前缀,比如私有存储可以带SAS令牌,格式为https://<存储账户名>.blob.core.windows.net/<容器名>/?<SAS令牌参数>
  • 在集合的「Pre-request Script」标签页添加如下代码:
if (pm.request.method === 'POST' && pm.request.body?.mode === 'formdata') {
  pm.request.body.formdata.each(item => {
    if (item.type === 'file') {
      item.src = `${pm.variables.get('FILE_REMOTE_PREFIX')}${item.src}`
    }
  })
}
  • 该脚本会在每个请求执行前自动把formdata中文件的src属性拼接为完整的远程路径,Newman原生支持读取远程路径的文件作为上传源,不需要提前存到本地。
  • 该配置会直接同步到Postman云端,通过Postman API拉取的集合会自带这段逻辑,不用额外修改。

方案2:流水线前置步骤批量拉取测试文件

如果你的测试文件不适合开放远程访问,可以选择这个无需修改Postman配置的方案:

  • 在Azure流水线的Newman执行步骤之前,新增Azure CLI任务,使用az storage blob download-batch命令把所有测试样本文件批量下载到Newman的执行目录下
  • 原有Postman集合中的src配置不用做任何修改,和本地测试时保持一致即可正常运行。

注意事项

  • 方案1仅在Newman运行时生效,Postman桌面端本身不支持远程文件作为上传源,本地调试时还是用本地「postman files」目录下的文件即可,两边运行逻辑互不冲突。
  • 如果用方案1的私有存储SAS链接,建议把带SAS的前缀存在集合的加密变量中,避免权限泄露。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:36:03