【发布时间】:2021-04-16 22:34:01
【问题描述】:
我已经在这工作了好几天了,我坚持到了最后一部分。 正如标题所示,我的创作收到了一个 base64 编码的图像。然后它将其加载到缓冲区中并尝试将其发送到这样的通道:
sfbuffer = new Buffer.from(base64_img, "base64");
const finalattach = new Discord.MessageAttachment(sfbuffer);
message.channel.send(finalattach);
它确实发送了缓冲区,但它总是导致this
加载的 base64 数据示例
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAEA and so on...
我尝试使用文件选项发送它(甚至没有发送),并使用 .setimage 和 .attachfiles 作为嵌入,两者都产生相同的结果。请我在这个问题上敲我的头。所有的谷歌链接都是紫色的,我不知道还能做什么 D:
【问题讨论】:
-
如果您下载该图像,它实际上是否正确显示?
-
这让我更加困惑。拿了一个示例 base64 图像并将其放入通用转换器中,但它不起作用。看着它,即使我用
.replace('"', '')删除了它们,最后还是有一个语音标记 -
您是否尝试过使用为它制作的在线工具对其进行解码? base64.guru/converter/decode/image
-
抱歉没有更清楚。我把机器人得到的输出放到一个工具中来解码base64 pngs(它们总是pngs),但它没有用。我看了看,发现应该用上述方法去除多余的语音标记。删除语音标记使其正确解码
标签: node.js discord.js