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

198
Vistas
Carga de archivo de imagen con node.js

Estoy tratando de adaptar mi código para subir archivos, pero no lo consigo, busqué en la comunidad y no entendí, todavía soy nuevo en esto. Siempre cae en el error json return, ¿sabes que puede ser? Archivo donde tienes la lógica.

 async img(request, response){ multer({ storage: multer.diskStorage({ destination: (req, file, cb) => { cb(null, "./Uploads") }, filename: (req, file, cb) => { cb(null, Date.now().toString() + '-' + file.originalname) }, fileFilter: (req, file, cb) => { const extensionImg = ['image/png', 'image/jpg', 'image/jpeg'].find (formatPermitted => formatPermitted == file.mimetype) if(extensionImg){ return cb(null, true) } return cb(null, false) } }) }).single('image') if(request.file){ return response.status(200).json({erro: false, message: "ok"}); }else{ return response.status(400).json({erro: true, message: "error"}); } }

Archivo donde esta la ruta

 const IncidentsController = require('./controllers/IncidentsController'); const routes = express.Router(); routes.post('/uploads', IncidentsController.img)
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

multer(...).single(...) devuelve una función de middleware. Esa función de middleware que devuelve tiene que llamarse realmente para hacer algo.

Por lo general, definiría el middleware fuera de un controlador de solicitudes y luego lo usaría como middleware en uno o más controladores de solicitudes.

 const imgMulterMiddleware = multer({ storage: multer.diskStorage({ destination: (req, file, cb) => { cb(null, "./Uploads") }, filename: (req, file, cb) => { cb(null, Date.now().toString() + '-' + file.originalname) }, fileFilter: (req, file, cb) => { const extensionImg = ['image/png', 'image/jpg', 'image/jpeg'].find (formatPermitted => formatPermitted == file.mimetype) if(extensionImg){ return cb(null, true) } return cb(null, false) } }) }).single('image');

Luego, use ese middleware según sea necesario:

 routes.post('/uploads', imgMulterMiddleware, (req, res) => { // do something with req.file here which will be set // by the middleware if it was successful if (req.file) { res.json({erro: false, message: "ok"}); } else { res.status(400).json({erro: true, message: "error"}); } });
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