Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

211
Vistas
¿Cómo canalizo un archivo de S3 al cliente en formato Uint8List en Node.js?

Actualmente estoy trabajando en una Api solo para conocer Node.js, ya que actualmente lo estoy aprendiendo.

Creé con éxito una ruta para cargar un archivo mp3 en un depósito s3, pero cuando intento obtener un archivo de S3 en formato Uint8List, no obtengo los resultados que quiero. (Flutter requiere que envíe una Uin8List, si esta no es una buena solución, también puedo convertirla en una Ui8List en el lado del cliente)

Puedo crear una secuencia legible y, cuando la secuencia recibe fragmentos, la registra en la consola. Pero no estoy muy seguro de cómo puedo enviar los datos al cliente en los búferes, solo puedo enviar los datos en una lista grande, pero por supuesto, por eficiencia, esta no es la mejor opción.

¿Alguien puede ayudarme? Este es el código que se tiene actualmente:

 var AWS = require('aws-sdk'); AWS.config.update( { accessKeyId: AWS_ACCESS_KEY, secretAccessKey: AWS_SECRET_ACCESS_KEY, region: AWS_REGION } ); var s3 = new AWS.S3(); router.get('/assets/:fileKey', auth, async function (req, res, next) { try { const fileKey = req.params.fileKey; const options = { Bucket: AWS_BUCKET_NAME, Key: fileKey, }; const chunks = []; const getAsBytes = new Promise((resolve, reject) => { const readStream = s3.getObject(options).createReadStream(); readStream.on('data', (chunk) => { // console.log('-------new data received--------') // console.log(chunk); chunks.push(chunk); // res.write(chunk); }); readStream.on('error', reject) readStream.on('end', resolve); }).catch((err) => next(err)); await getAsBytes; res.write(Uint8Array.from(chunks)); res.end(); } catch (error) { next(error); } });

Cuando trato de canalizar el flujo de lectura, obtengo una respuesta llena de signos de interrogación y símbolos extraños.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda