Estoy usando react-dropzone para cargar archivos mp3 y usando metadatos npm para capturar todo el contenido del archivo. Al enviarlo a axios.post (), aparece un error de "Cuerpo excedió el límite de 1 mb"
Aquí es donde estoy enviando los nuevos datos:
async function insertArtists(uploadedArtists, doneCallback) { // console.log(uploadedArtists); // [5] // console.log(artistsData);// [] const originalArtists = [...artistsData]; const newArtists = [...uploadedArtists, ...artistsData]; try { setArtistsData(newArtists); const results = await axios.post(`${restUrl}/multi`, newArtists); console.log(results); if (doneCallback) { doneCallback(); } } catch (error) { console.log("error thrown inside insertArtists", error); setArtistsData(originalArtists); } }Encontré este documento aquí https://github.com/vercel/next.js/issues/19684 . Pero no explicó cómo agregar otros parámetros.
mi Dropzone:
function Dropzone() { const { insertArtists } = useReqRest(); const { getRootProps, getInputProps } = useDropzone({ accept: "audio/*", onDrop: useCallback(async (acceptedFiles) => { const filesData = await Promise.all( acceptedFiles.map(async (file) => { let fileContents = { _id: uuidv4(), path: file.path, fileName: file.name, fileSize: file.size, fileType: file.type, }; const meta = await musicMetadata.parseBlob(file); return { ...fileContents, ...meta.common }; }) ); const fullDb = [...artists, ...filesData]; insertArtists(fullDb); }), }); }Si su problema es simplemente "Cuerpo excedió el límite de 1 MB", puede agregar esto al final de su archivo API y funcionará
export const config = { api: { bodyParser: { sizeLimit: '1mb', }, }, }si desea agregar todos los detalles en los archivos, considere usar FormData() y luego agregue los archivos y envíelos como el cuerpo de la solicitud
Debe establecer una configuración personalizada para enviar datos de más de 1 MB
export const config = { api: { bodyParser : { sizeLimit : '1mb' // change this }, }, }Para obtener más información, consulte esto: https://nextjs.org/docs/api-routes/api-middlewares#custom-config