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

103
Views
Multer está configurado en mi backend express pero no se llama ni almacena imágenes de la solicitud

Tengo un proyecto backend express. Hago que el usuario envíe una foto para su foto de perfil. Tengo configuración de multer y todo. Cuando llega una solicitud desde la interfaz, simplemente quiero tomar ese archivo de la solicitud y almacenarlo en la carpeta ./backend/client/images/profile .

Tengo el problema cuando llamo a upload.single() , el archivo está allí, pero por alguna razón, en realidad no está pasando por el proceso de configurar el nombre del archivo almacenado y almacenar la imagen. Tengo un archivo console.log() que se supone que se activa cuando se actualiza el nombre del archivo, pero no se activa.

No estoy seguro de por qué console.log() no se activa o el archivo no se guarda como quiero que se guarde. La ruta es correcta pero nada:

archivo del controlador:

 const Profile = require("../../models/UserModels/Profiles.js") const User = require('../../models/UserModels/Users.js') const multer = require('multer') const storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, './backend/client/images/profile') }, filename: function (req, file, cb) { console.log(file) <------------------- NOT TRIGGERING --------------- const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1E9) cb(null, file.fieldname + '-' + uniqueSuffix) } }) const upload = multer({ storaddge: storage }) const profileController = { get:(req, res) => { if(req.session.authenticated){ Profile.findOne({ where: {userId: req.session.user.userId} }) .then((data) => { res.send(data).status(200) }) .catch((err) => { console.error(err) }) } }, post:(req, res) => { console.log(req.body) console.log(req.files) upload.single(req.files.profile_pic) <------ tried both upload.single(req.files.profile_pic.name) <----------- let body = req.body Profile.create({ profile_pic: req.files.profile_pic.name, f_name: body.f_name, l_name: body.l_name, bio: body.bio, location: body.location, sm_facebook: body.sm_facebook, sm_instagram: body.sm_instagram, sm_twitter: body.sm_twitter, sm_website: body.sm_website, followers: body.followers, following: body.following, photos: body.photos, downloads: body.downloads, edits: body.edits, userId: body.userId })

así es como se ve el objeto de archivos cuando llega al backend:

 { profile_pic: { name: 'ThinkstockPhotos-124946816-1-side.width-358.jpg', data: <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 00 01 00 00 ff db 00 43 00 05 03 04 04 04 03 05 04 04 04 05 05 05 06 07 0c 08 07 07 07 07 0f 0b 0b 09 ... 56757 more bytes>, size: 56807, encoding: '7bit', tempFilePath: '', truncated: false, mimetype: 'image/jpeg', md5: 'a938825a8aeccfa50b13d269034f0b68', mv: [Function: mv] } }
about 4 years ago · Juan Pablo Isaza
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!