Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

77
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!