将 Buffer 转换为 ReadableStream
从 Buffer 创建 ReadableStream 的简单做法是使用 ReadableStream 构造函数,并将整个数组作为单个块入队。对于较大的缓冲区,这种做法可能不理想,因为它不会以较小的块流式传输数据。
TypeScript
const buf = Buffer.from("hello world");
const stream = new ReadableStream({
start(controller) {
controller.enqueue(buf);
controller.close();
},
});
要以更小的块流式传输数据,请先从 Buffer 创建一个 Blob 实例,然后使用 Blob.stream() 创建一个 ReadableStream。
TypeScript
const buf = Buffer.from("hello world");
const blob = new Blob([buf]);
const stream = blob.stream();
向 .stream() 传入一个数字以设置块大小。
TypeScript
const buf = Buffer.from("hello world");
const blob = new Blob([buf]);
// 设置块大小为 1024 字节
const stream = blob.stream(1024);
参见二进制数据。