需求

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

但有时候我们可能直接就有一个 foo.pngbase64buffer 数据, 怎样才能直接转换可读流(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

版权声明:本文为暗恋桃埖源原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/taohuaya/p/17001355.html