我正在使用邮递员发送包含正文和表单内容(包含文件和文本)的邮寄请求。参见下图:
我想对整个主体进行json.stringify,但是我无法在请求前脚本中弄清楚如何做到这一点。由于环境变量只能是人体的一部分,因此拥有文件会使它更加棘手。
答案 0 :(得分:0)
我不确定我是否理解问题。在邮递员中,请求是一个JavaScript对象。如果您要对请求进行分类,那么我认为您正在尝试获取此请求:
propertyOne=valueOne&propertyTwo=ValueTwo
之外:
const request = {
propertyOne: 'valueOne',
propertyTwo: 'ValueTwo'
};
简单的方法就是迭代对象的属性并写入字符串:
function stringifyRequest(object) {
let resultString = '';
for (var property in object) {
if (object.hasOwnProperty(property)) {
let tempString = `${property}=${object[property]}`;
resultString = resultString ? `${resultString}&${tempString}` : tempString;
}
}
return resultString
}
现在,如果要获取要上传的文件的二进制文件,将不可能。如this thread所示:
在预请求中,我们不授予对文件内容的访问权限 脚本,出于某些原因。
- 我们希望延迟在请求之前立即加载文件内容 已发送。
- 直到预请求,请求正文才真正解析 脚本已完成。因此,即使我们愿意,我们也不能放弃 请求前脚本中的请求的实际内容。
他们最终可能会改变它,但是我找不到任何迹象。该线程中的一位用户建议使用insomnia,您可以检查出它是否更适合您的需求。