Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

125
Views
¿Cómo configurar el tipo de contenido de una transmisión antes de cargarla en S3 usando la tubería NodeJS?

En mi aplicación NodeJS, tengo una respuesta axios que devuelve un flujo. Me gustaría cargar esta secuencia en mi depósito de S3, pero también necesito saber el ContentType para evitar la asignación predeterminada de application/octet-stream de S3.

Hasta ahora, he desarrollado una función que carga una transmisión usando Stream.PassThrough :

 streamUpload(key: string, acl: string) { const pass = new stream.PassThrough(); const upload = new Upload({ client: this.s3Client, params: { Key: key, Body: pass, Bucket: `${process.env.BUCKET}`, ACL: acl, ContentType: "" // <--- How can I find this from a stream without storing the file in memory?? }, }) return { writeStream: pass, upload, }; }

Como resultado, puedo usar esta función para pipe los datos de flujo de mi respuesta axios al PassThrough y luego await usando upload.done() mientras el archivo se carga de esta manera:

 // data is a stream! const { data } = await axios.post('http://watermark:4006', {}, { responseType: "stream", }); const { writeStream: uploadWS, upload } = s3API.streamUpload(audioEnding, 'public-read'); // pipe the stream to my `PassThrough` // Can I add a custom Transform to extract the content-type from the stream before // passing it to my uploadWriteStream? pipeline(data, uploadWS, (e) => { if (!!e) { console.log(e) } }) // The S3 library allows you to wait while data is being uploaded await upload.done()

Descubrí una biblioteca llamada tipo de archivo que permite recuperar el tipo de archivo a través de una secuencia usando fileTypeFromStream , sin embargo, no estoy seguro de cómo agregar esto a mi pipeline para extraer el tipo de archivo antes de ejecutar el siguiente paso de mi canalización porque es una función que debe pasar un argumento de flujo que debe awaited antes de recibir el tipo de archivo.

¡Me encantaría escuchar alguna sugerencia!

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!