write readstream read nodejs node data create convert javascript node.js stream buffer

javascript - readstream - Convertir un Buffer en un ReadableStream en nodejs



readstream nodejs (3)

Puede crear un ReadableStream usando Buffers de Secuencia de Node como este:

// Initialize stream var myReadableStreamBuffer = new streamBuffers.ReadableStreamBuffer({ frequency: 10, // in milliseconds. chunkSize: 2048 // in bytes. }); // With a buffer myReadableStreamBuffer.put(aBuffer); // Or with a string myReadableStreamBuffer.put("A String", "utf8");

La frecuencia no puede ser 0 por lo que esto introducirá un cierto retraso.

Soy bastante nuevo en Buffers y en ReadableStreams, así que tal vez esta es una pregunta estúpida. Tengo una biblioteca que toma como entrada un ReadableStream, pero mi entrada es solo una imagen de formato base64. Podría convertir los datos que tengo en un Buffer así:

var img = new Buffer(img_string, ''base64'');

Pero no tengo idea de cómo convertirlo a un ReadableStream o convertir el Buffer que obtuve en un ReadableStream.

¿Hay alguna manera de hacer esto o estoy tratando de lograr lo imposible?

Gracias.


algo como esto...

import { Readable } from ''stream'' const buffer = new Buffer(img_string, ''base64'') const readable = new Readable() readable._read = function () {} // _read is required but you can noop it readable.push(buffer) readable.pipe(consumer) // consume the stream

En el curso general, la función _read una secuencia legible debe recopilar datos de la fuente subyacente y push incrementalmente para garantizar que no se recolecte una gran fuente en la memoria antes de que sea necesaria.

En este caso, aunque ya tenga la fuente en la memoria, entonces _read no es necesario.

Al presionar todo el búfer simplemente lo envuelve en la API legible.