【问题标题】:How to send a base64 image in postman如何在邮递员中发送base64图像
【发布时间】:2016-12-22 23:26:29
【问题描述】:

需要使用base64编码的图像向api发出请求,请求是一个put,我试图在body部分使用原始格式并添加即这个json:

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

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

【问题讨论】:

标签: postman


【解决方案1】:

这就是我的做法:

// 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();
});

【讨论】:

    【解决方案2】:

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

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

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

    我认为,“名称”和“内容类型”在您的 JSON 中很明显。

    【讨论】:

    • 如果我想在“form-data”正文而不是“原始正文”中发送图像怎么办
    • @Imran_Developer 您可以选择密钥的“文件”类型
    猜你喜欢
    • 2021-10-15
    • 1970-01-01
    • 2013-04-20
    • 2023-03-30
    • 2015-09-18
    • 2019-07-31
    • 2017-11-28
    • 1970-01-01
    • 2019-05-13
    相关资源
    最近更新 更多