如果我们有一个图片文件,想创建当前图片可读流( Readable ), 可以像这样 const fooReadStream = fs.createReadStream('./foo.png') ,
获取到 foo.png 的可读流 ( Readable )。

但有时候我们可能直接就有一个 foo.png base64 buffer 数据, 怎样才能直接转换可读流( Readable )呢?

下面代码实现 Base64 到 可读流( Readable )的转换。

const { Buffer } = require('node:buffer')
const { Readable } = require('node:stream')
 *  base64 转可读流
 * @param {string} base64
 * @returns {stream.Readable}
function base64ToReadStream(base64) {
  const buf = Buffer.from(base64, 'base64')
  return Readable.from(buf)

Create ReadStream from Base64 encoded string by file

Converting a Buffer into a ReadableStream in Node.js