Estoy intentando renderizar un archivo MP3 en el front-end y enviarlo a AWS S3 . Puedo cargar un archivo determinado en AWS S3 con bastante facilidad, pero no desde el buffer , que es donde se genera el archivo.
La llamada textToSpeech en el ejemplo de código a continuación proviene de IBM Watson Text-to-Speech API .
Aquí hay un código de ejemplo, la aplicación es una aplicación Next.JS que llama a S3 a través de una API :
module.exports = requireAuth(async (req, res) => { textToSpeech .synthesize(synthesizeParams) .then(buffer => { const s3Params = { Bucket: 'waveforms/audioform', Key: 'CONTENT.mp3', Body: buffer, ContentType: 'audio/mpeg', ACL: 'public/read' } s3.upload(s3Params, function (s3Err, data) { if (s3Err) throw s3Err console.log(`File uploaded successfully at ${data.Location}`) }) }) .catch(err => { console.log('error:', err) }) } El error es Error: Unsupported body payload object , por lo que parece que no se accede correctamente al buffer , pero no estoy seguro de cómo extraer los datos relevantes.
¿Cómo puedo pasar un archivo del buffer del Node a S3?