如何在postman中发送base64图像

问题描述 投票:0回答:3

需要使用以base64编码的图像向api发出请求,该请求是一个put,我正在尝试使用原始格式在正文部分中进行制作并添加即这个json:

{
 "picture": {
    "name": "/Users/Cokeina/Desktop/imagenes/default_avatar.png",
    "content_type": "image/png",
    "file": "base64string"
 }
}

但似乎这不起作用,正确的方法是什么?

postman
3个回答
35
投票

您可以找到在线base64图像编码器。他们将图像编码为字符串。

POSTMAN 中 JSON 格式的原始正文示例:

"profile": {
    "first_name": "John",
    "last_name": "Dow",
    "photo": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII="
}

我认为,“name”和“content_type”在 JSON 中是显而易见的。


2
投票

我就是这样做的

// JSON body in Postman.

{
    "first_name": "John",
    "last_name": "Doe",
    "photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABJgAAASsCAYAAADDvzILAAAZy3pUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHja7ZpZkhw5kkT/cYo5AvblOIZNpG8wx5+niCSHZBWlq7v6Z0SGyczIjMUdDlPTBXB3/vsf1/0X/2rx2eXSeh21ev7lkUc0fun+88/ez+Dz+/n+jf7+0t8/Pe9sfb0QeSrxmD4v9Pp5DN+e//rAt8dg/FZ+OFBfXy/Mn18Yn8P72H85..."
}

然后在服务器上,我像这样存储图像

app.use(express.json({ limit: '50mb' }));    // To allow for larger payloads.

app.post("/selfie", (req, res) => {
 console.log('req.body:', req.body);
 var base64Data = req.body.photo.replace(/^data:image\/png;base64,/, "");
 
 require("fs").writeFile("out.png", base64Data, 'base64', function (err) {
   console.log(err);
 });
 
 res.end();
});

1
投票

这对我有用:

let template = `
<img src='data:image/jpeg;base64,{{img}}'/>
`;

pm.visualizer.set(template, { 
    img: pm.response.json()
});

Postman response

而响应是base64字符串

© www.soinside.com 2019 - 2024. All rights reserved.