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