将缓冲区转换为 Node 中的可读流.js
2022-08-30 04:27:48
我有一个库,它接受一个作为输入,但我的输入只是一个base64格式的图像。我可以像这样转换我拥有的数据:ReadableStream
Buffer
var img = new Buffer(img_string, 'base64');
但我不知道如何将其转换为a或将I获得的转换为.ReadableStream
Buffer
ReadableStream
有没有办法做到这一点?
我有一个库,它接受一个作为输入,但我的输入只是一个base64格式的图像。我可以像这样转换我拥有的数据:ReadableStream
Buffer
var img = new Buffer(img_string, 'base64');
但我不知道如何将其转换为a或将I获得的转换为.ReadableStream
Buffer
ReadableStream
有没有办法做到这一点?
对于 nodejs 10.17.0 及更高版本:
const { Readable } = require('stream');
const stream = Readable.from(myBuffer);
像这样的东西...
import { Readable } from 'stream'
const buffer = new Buffer(img_string, 'base64')
const readable = new Readable()
readable._read = () => {} // _read is required but you can noop it
readable.push(buffer)
readable.push(null)
readable.pipe(consumer) // consume the stream
在一般课程中,可读流的函数应该从底层源收集数据,并逐步确保在需要之前不会将巨大的源收集到内存中。_read
push
在这种情况下,尽管您已经在内存中拥有源,因此不是必需的。_read
推送整个缓冲区只是将其包装在可读流 API 中。