首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在没有FileReader的NodeJS中将Blob转换为Base64

在没有FileReader的NodeJS中将Blob转换为Base64
EN

Stack Overflow用户
提问于 2019-01-09 05:13:43
回答 1查看 5.6K关注 0票数 1

我目前有一个'image/jpeg‘类型的blob,我需要将其转换为base64字符串。我所有的代码都在一个使用Nodejs的独立javascript文件中,没有与任何html文件连接。我研究过的将blob转换为base64的每个方法都涉及到使用FileReader类,该类要求javascript位于html中,所以这是不可能的。我发现的唯一解决办法是将blob转换为缓冲区,然后使用下面这行代码转换为base64。

代码语言:javascript
运行
复制
    base64 = new Buffer( blob, 'binary').toString('base64');

但这只返回错误:第一个参数必须是字符串、缓冲区、ArrayBuffer、数组或类似数组的对象。

我被难住了。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2020-07-02 04:00:31

如果您在NodeJS中使用node-fetch从URL读取数据,那么您不希望获得blob,而是希望获得一个缓冲区。然后,您可以轻松地转换为base64。

代码语言:javascript
运行
复制
const b64 = await fetch(url)
      .then((response) => response.buffer())
      .then((buffer) => {
        const b64 = buffer.toString('base64');
        return b64;
      })
      .catch(console.error);
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54099802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档