aplicación.js
const express = require('express') const app = express() const app = express() const PORT = process.env.SERVER_PORT || 8080 app.use(express.json()) app.use(express.urlencoded({ extended : true })) app.use(formidableMiddleware()); app.listen(PORT, () => { console.log(`The application is up and running on ${PORT}`) })controller.js Contiene el controlador que toma la imagen codificada en base64 en formdata y al que se puede acceder con la propiedad de nombre de archivo (Este es un controlador que funciona bien con formidable)
const uploadProfilePic = async (req, res) => { let strArr = req.fields.filename.split(',') let buffer = new Buffer(strArr[1], 'base64') let filename = Date.now().toString() + '' + strArr[0].split('/')[1].split(';')[0] try { req.user.profile = buffer req.user.filename = filename await req.user.save() return res.status(200).json( customMessage(true, { message: 'Successfully uploaded', }), ) } catch (error) { return res.status(500).status(internalServerError) } }controller2.js Este controlador no funciona correctamente, ni siquiera se ejecuta cuando usamos express-formidable y la ruta de solicitud posterior a la que está vinculado este controlador, se ejecuta para siempre, pero si no pasamos ningún cuerpo de solicitud, entonces se ejecuta perfectamente o si comentamos:
//app.use(express-formidable); //In app.jsluego se ejecuta correctamente pero luego controller.js no se ejecuta.
const updateUserData = async (req, res) => { try { const {_id, email, name, username, bio, code, platform, languages } = req.body if (username === undefined || code === undefined || !platform || !languages) return res .status(400) .json(customMessage(false, 'Please Satisy Validations')) let user = req.user let user1 = await UserModel.findById(_id) user1.username = username; user1.code = code; user1.bio = bio; user1.platform = platform; user1.languages = languages; if (!user) return res.status(500).json(internalServerError()) else { await user1.save() console.log return res .status(200) .json(customMessage(true, `user with ${email} updated`)) } } catch (error) { console.log(error) return res.status(500).json(internalServerError()) } }