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

282
Vistas
Multer no guarda el archivo

Multer no guarda el archivo y no puedo ver ningún registro... La carpeta está vacía, no hay ningún archivo.

Los datos de la imagen se envían realmente al servidor cuando su consola registra: Captura de pantalla de req.files from log

¿Qué estoy haciendo mal? por favor ayúdame a encontrar

 const express = require('express'); const router = express.Router(); const path = require('path'); const multer = require('multer'); const storage = multer.diskStorage({ destination: (req, file, cb) => { console.log('destination') // can't see this log cb(null, './uploads/'); }, filename: (req, file, cb) => { console.log('filename') // can't see this log const ext = file.mimetype.split("/")[1]; cb(null, Date.now() + path.extname(file.originalname)); } }); const uploadImage = multer({ storage, limits: { fieldSize: 1024 * 1024 }, fileFilter: (req, file, cb) => { console.log('log!') // can't see this log const ext = path.extname(file.originalname); if (ext !== '.jpg' && ext !== '.jpeg' && ext !== '.png') { console.log('not log!') // can't see this log const err = new Error('Extention'); err.code = 'EXTENTION'; return cb(err); } console.log('log!') // can't see this log cb(null, true); } }).single('photo'); router.post('/image', async (req, res) => { console.log(req.files) // can see this log uploadImage(req, res, err => { console.log('upload') // can see this log let error = ''; if (err) { console.log(err) if (err.code === 'LIMIT_FILE_SIZE') { error = 'Max 500kb!'; } if (err.code === 'EXTENTION') { error = 'Only jpg and png!'; } } res.json({ ok: !error, error }); }) });
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Multer finalmente dio un error, por lo que el problema se resolvió... El problema era que los nombres de estos campos son diferentes:

Servidor: .single('pic');

Y en la solicitud al servidor: formData.append('pic', file);

about 4 years ago · Juan Pablo Isaza Denunciar

0

El código parece funcionar bien para mí, pero solo tuve que crear manualmente el directorio de uploads .

Utilicé cartero para probar esto y la imagen apareció en mi directorio de cargas.

 # Console Output SERVER RUNNING ON 3000 undefined log! log! destination filename upload
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