Der naive Ansatz zum Erstellen eines ReadableStream aus einem Uint8Array besteht darin, den ReadableStream-Konstruktor zu verwenden und das gesamte Array als einzelnen Chunk zu enqueue. Für größere Chunks kann dies unerwünscht sein, da die Daten nicht wirklich "gestreamt" werden.
ts
const arr = new Uint8Array(64);
const stream = new ReadableStream({
start(controller) {
controller.enqueue(arr);
controller.close();
},
});Um die Daten in kleineren Chunks zu streamen, erstellen Sie zuerst ein Blob aus dem Uint8Array. Verwenden Sie dann die Blob.stream() Methode, um einen ReadableStream zu erstellen, der die Daten in Chunks einer bestimmten Größe streamt.
ts
const arr = new Uint8Array(64);
const blob = new Blob([arr]);
const stream = blob.stream();Die Chunk-Größe kann durch Übergeben einer Zahl an die .stream() Methode festgelegt werden.
ts
const arr = new Uint8Array(64);
const blob = new Blob([arr]);
// Chunk-Größe von 1024 Bytes festlegen
const stream = blob.stream(1024);Siehe Docs > API > Binärdaten für vollständige Dokumentation zur Manipulation von Binärdaten mit Bun.