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

如何在Postman请求中将图片路径作为源URL传入?

问题根因

Postman的form-data字段类型设为file时,src参数仅支持本地文件系统的绝对路径,不支持HTTP/HTTPS等远程网络路径。你直接填写远程图片URL的情况下,Postman无法将远程资源识别为待上传的本地文件,因此会抛出"No file was submitted"报错。你之前尝试的转义路径操作无法生效,是因为问题本质不是路径格式错误,是Postman本身不支持该场景的配置。

可行解决方案
  • 方案1:预请求脚本自动下载+变量引用
    你可以在对应请求的「Pre-request Script」标签页添加脚本,提前将远程图片下载到本地临时目录,再将生成的本地路径赋值给Postman变量,formdata的src字段直接引用该变量即可,示例脚本如下:
const fs = require('fs');
const path = require('path');
const http = require('http');
const https = require('https');

// 替换为你的远程图片地址
const remoteImgUrl = 'http://<IP>/testdata/8265.jpg';
// 替换为你本地实际存在的临时目录路径
const localTempPath = path.join(process.env.TEMP || process.env.TMPDIR, 'postman_temp_upload.jpg');

const requestLib = remoteImgUrl.startsWith('https') ? https : http;
requestLib.get(remoteImgUrl, (res) => {
  const writeStream = fs.createWriteStream(localTempPath);
  res.pipe(writeStream);
  writeStream.on('finish', () => {
    writeStream.close();
    // 将本地临时路径存入集合变量
    pm.collectionVariables.set("temp_upload_img_path", localTempPath);
  });
});

之后修改formdata配置引用变量即可:

{
  "key": "img",
  "type": "file",
  "src": "{{temp_upload_img_path}}"
}

注意:使用该方案需要先在Postman设置中开启「Allow reading files outside working directory」权限,否则本地文件读写会失败。如果不需要留存临时文件,可以在「Tests」标签页添加脚本自动删除临时文件,避免占用本地存储空间。

  • 方案2:调整接口接收逻辑(支持接口可修改的场景)
    如果你有权限调整接收请求的后端接口逻辑,可以新增一个接收图片URL的参数,后端收到URL后自行拉取图片资源处理,不需要Postman侧上传文件,该方案实现更简单,不需要调整Postman的上传逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:24:02