Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

80
Vistas
Usando express-formidable para obtener datos de varias partes, pero hace que las solicitudes de publicación simples con el cuerpo de la solicitud se ejecuten para siempre

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.js

luego 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()) } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

De acuerdo, encontré una manera de enviar solicitudes a través de los datos de varias partes/formularios y la aplicación/json sin romper nada. De hecho, pasé 2 horas tratando de averiguar qué sucedió y cómo resolver el problema. Descubrí que el paquete "express-formidable" ya no se mantiene y se cerró. Luego también encontré otro paquete que, por supuesto, resolvió el problema ahora "express-formidable-v2", que creo que es la continuación del paquete anterior.

Mira esto https://github.com/Abderrahman-byte/express-formidable-v2 , es una bifurcación del paquete "express-formidable"

Ahora tienes acceso a tus {req.fields} y {req.body}

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda