问题描述
在使用 Jimp 的 getBase64Async
函数将图片转换为 GIF 格式时,得到的 base64 编码结果为:
plaintext
data:image/gif;base64,[object Promise]
这个问题在 Jimp GitHub Issue #1056 中有详细讨论。
解决办法
使用 getBufferAsync
方法代替 getBase64Async
,并手动构建 base64 字符串:
javascript
image.getBufferAsync(image.getMIME()).then(data => {
const base64 = 'data:' + image.getMIME() + ';base64,' + data.toString('base64');
// 处理生成的 base64 字符串
});