Uint8Array から ReadableStream を作成する単純なアプローチは、ReadableStream コンストラクタを使用して、配列全体を単一のチャンクとしてエンキューすることです。大きなチャンクの場合、これは実際にデータを「ストリーミング」しないため、望ましくない場合があります。
ts
const arr = new Uint8Array(64);
const stream = new ReadableStream({
start(controller) {
controller.enqueue(arr);
controller.close();
},
});データを小さなチャンクにストリーミングするには、まず Uint8Array から Blob インスタンスを作成します。次に、Blob.stream() メソッドを使用して、指定されたサイズのチャンクでデータをストリーミングする ReadableStream を作成します。
ts
const arr = new Uint8Array(64);
const blob = new Blob([arr]);
const stream = blob.stream();.stream() メソッドに数値を渡すことで、チャンクサイズを設定できます。
ts
const arr = new Uint8Array(64);
const blob = new Blob([arr]);
// 1024 バイトのチャンクサイズを設定
const stream = blob.stream(1024);Bun でバイナリデータを操作する方法に関する完全なドキュメントについては、ドキュメント > API > バイナリデータ を参照してください。