Tengo una ruta API Next.JS que carga un archivo MP3 en AWS S3 y, al mismo tiempo, hace referencia a ese archivo en una colección de FaunaDB. Sin embargo, el archivo MP3 , cuando se accede a través de S3, no se puede reproducir, incluso cuando se descarga.
El problema es evidente cuando intento console.log(audioFile) en la ruta API, devuelve undefined , lo que significa que es posible que no esté pasando el archivo a S3 en el formato correcto.
En el componente ReactJS, onClick() envía el archivo a un eventHandler llamado submitVoiceMemo :
const submitVoiceMemo = async () => { console.log('this is the payload', audioFile) try { await fetch('/api/createVoiceMemo', { method: 'PUT', headers: { 'Content-Type': 'audio/mpeg' }, body: audioFile }) } catch (error) { console.error(error) } } Como puede ver, estoy imprimiendo un archivo de audio para verificar que esa sea la carga útil correcta. audioFile almacena el MP3 en un useState (la consola confirma que es un archivo MP3).
Sin embargo, en mi ruta API:
const { audioFile } = req.body console.log('This is the req.body', audioFile) ... Recibo undefined para audioFile . Si console.log(req.body) , recibo lo que parece ser un flujo de caracteres que denotan un MP3 en la consola.
¿Cómo debo analizar el archivo MP3?