如何在postman中获取图片的base64数据

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

问题

如何在邮递员中从在线图像获取 Base64 数据?

背景

我正在邮递员中进行迁移。其中一部分是迁移消息中的嵌入图像。嵌入的图像像这样插入到 html 中:

<img src="https://attachment.freshdesk.com/inline/attachment?token=LongTokenHere" data-id="9198554508" alt="image.png" width="562" height="181">

目标

将图像链接替换为 Base64 数据,如下所示:

<img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" data-id="9198554508" alt="image.png" width="562" height="181"/>

进步

我可以下载图像的数据,我假设是字节数据,将其转换为ascii(我假设是base64格式),然后上传它。但是当像这样上传时,它最终会变成损坏/无法查看的图像。

pm.sendRequest(link, (err, res) => {
    err ? reject(err)
        : resolve({link, raw: res.text(), imageData: btoa(res.text())});
});

这确实让我得到了似乎是base64数据的东西:(完整文件中的一小段)

/VBORw0KGgoAAAANSUhEUgAAAmcAAAD9CAYAAAD9bSdzAAAgAElEQVR4Af39f2xc/f39/f39/f1xV/1X/f26N0oUdSkrEP12/f0iAWkr/f39Bf0obTf9/Qv9/f1y/SH9OG40dXH9/TAQ/

我尝试过的其他事情

在邮递员中,我可以

get
链接,然后正文预览会显示应有的图像。然后我可以
save response to file
,它显示了一个工作的 png。在记事本++中比较两个源时,它们确实看起来有点相似:

我还尝试查看尝试使用https://base64.guru/converter/decode/file将base64数据转换为文件时发生了什么,我收到了以下消息:

Your browser cannot display the file as “application/octet-stream”.
。我不确定如何处理这些信息,因为响应标头向我显示了
content-type: image/png

javascript file-upload postman imageurl
1个回答
0
投票

因为服务器的Content type返回Content-Type: application/octet-stream。这不是有效的图像类型。 IE8 可能会尝试显示它,而 Chrome 显然不会。

请参考这篇文章。 https://stackoverflow.com/a/9046157/23185565

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